diff --git a/README.md b/README.md index d4ef222..7ec37ae 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,17 @@ 关于iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局优化、电量优化、 安装包瘦身、启动优化、网络优化等 + #### iOS 官方文档 > 专题内容比较多,后面细分内容会有部分重复。 * [Performance 专题](https://developer.apple.com/library/content/navigation/#section=Topics&topic=Performance) +* [Core Animation Programming Guide](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreAnimation_guide) + #### iOS 性能优化相关书籍 * [Pro iOS Apps Performance Optimization](http://download.csdn.net/detail/tskyming/9831453) * [High Performance iOS Apps](http://download.csdn.net/detail/tskyming/9831465) +* [iOS-Core-Animation-Advanced-Techniques](https://github.com/AttackOnDobby/iOS-Core-Animation-Advanced-Techniques) #### Instruments 工具相关 * [Instruments User Guide](https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/index.html) [中文翻译-PDF](http://cdn.cocimg.com/bbs/attachment/Fid_6/6_24457_90eabb4ed5b3863.pdf) @@ -17,8 +21,13 @@ * [instrument之Time Profiler总结](http://www.cnblogs.com/lxlx1798/p/6933604.html) * [Instruments学习之Core Animation学习](http://www.cnblogs.com/lxlx1798/p/6933364.html) * [Instruments之Activity Monitor使用入门](http://www.cnblogs.com/lxlx1798/p/6933141.html) -* [使用Instrument调试界面卡顿](http://www.jianshu.com/p/9dbbc91c8059) -* [Core Animation性能调优](https://github.com/AttackOnDobby/iOS-Core-Animation-Advanced-Techniques/blob/master/12-%E6%80%A7%E8%83%BD%E8%B0%83%E4%BC%98/%E6%80%A7%E8%83%BD%E8%B0%83%E4%BC%98.md) + +#### GMTC-2018 PPT +* [LinkedIn移动应用的性能优化之道](https://ppt.geekbang.org/slide/show?cid=31&pid=1495) +* [美团客户端监控与异常排查实践](https://ppt.geekbang.org/slide/show?cid=31&pid=1500) +* [爱奇艺APP极致体验之路](https://ppt.geekbang.org/slide/show?cid=31&pid=1497) +* [大前端时代前端监控的最佳实践](https://ppt.geekbang.org/slide/show?cid=31&pid=1496) +* [性能优化与监控专题PPT](https://gmtc.infoq.cn/2019/beijing/) #### 综合篇 * [WWDC2012-235-iOS APP Performance:Responsiveness](https://developer.apple.com/videos/play/wwdc2012/235) @@ -33,20 +42,24 @@ #### 内存优化 * [Memory Usage Performance Guidelines](https://developer.apple.com/library/content/documentation/Performance/Conceptual/ManagingMemory/ManagingMemory.html#//apple_ref/doc/uid/10000160i) -* [WWDC-2018-416](https://developer.apple.com/videos/play/wwdc2018/416/) +* [WWDC-2018-416](https://developer.apple.com/videos/play/wwdc2018/416/)[中文翻译](https://juejin.im/post/5b23dafee51d4558e03cbf4f) * [探索iOS内存分配](https://juejin.im/post/5a5e13c45188257327399e19) * [iOS微信内存监控](http://wetest.qq.com/lab/view/367.html?from=content_juejin) * [内存管理及优化(上)-QQ浏览器](https://www.imooc.com/video/11075) * [内存管理及优化(下)-QQ浏览器](https://www.imooc.com/video/11076) - +* [OOM探究:XNU 内存状态管理](https://www.jianshu.com/p/4458700a8ba8) +* [OOMDetector 内存监控(腾讯开源)](https://github.com/Tencent/OOMDetector) + #### 卡顿优化 +* [UIKit性能调优实战讲解](http://www.cocoachina.com/ios/20160208/15238.html?utm_source=tuicool&utm_medium=referral) +* [QQ空间掉帧率优化实战](http://wetest.qq.com/lab/view/354.html) +* [实现 60fps 的网易云音乐首页](https://mp.weixin.qq.com/s?__biz=MzA4MzEwOTkyMQ==&mid=2667379069&idx=1&sn=376d9ef2261cf13e930406f1c35d3569) +* [iOS 保持界面流畅的技巧](http://blog.ibireme.com/2015/11/12/smooth_user_interfaces_for_ios/) +* [iOS UI性能优化总结](http://www.cocoachina.com/ios/20180412/22990.html) * [微信iOS卡顿监控系统](http://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ%3D%3D&idx=1&mid=207890859&scene=23&sn=e98dd604cdb854e7a5808d2072c29162&srcid=0921FzoCw9j1W7n4uFYKuarC#rd) * [iOS-卡顿检测](http://www.cnblogs.com/gatsbywang/p/5555200.html) * [iOS监控:卡顿检测](http://ios.jobbole.com/93085/) * [iOS应用UI线程卡顿监控](https://mp.weixin.qq.com/s?__biz=MzI5MjEzNzA1MA==&mid=2650264136&idx=1&sn=052c1db8131d4bed8458b98e1ec0d5b0&chksm=f406837dc3710a6b49e76ce3639f671373b553e8a91b544e82bb8747e9adc7985fea1093a394#rd) -* [iOS 保持界面流畅的技巧](http://blog.ibireme.com/2015/11/12/smooth_user_interfaces_for_ios/) -* [实现 60fps 的网易云音乐首页](https://mp.weixin.qq.com/s?__biz=MzA4MzEwOTkyMQ==&mid=2667379069&idx=1&sn=376d9ef2261cf13e930406f1c35d3569&chksm=84f32833b384a1250ef66f76a8d050216fd3b0bd4ea99b55f4a609cf268c8169ac2889746245&mpshare=1&scene=1&srcid=0810MDXnroCGDhecWqlXazwE&key=05d58d453d781a66b453e3d41dd8d420839dd771948b07f8c8afe3482922901ad13e8c8ab46f48d0883e9b55d304f6ce272854ecc200f68557644581408036c8ee0c5154fbf413a007cd7617b0e086f6&ascene=0&uin=MjY1NTg0NzMyMQ%3D%3D&devicetype=iMac+MacBookPro11%2C4+OSX+OSX+10.12.5+build(16F73)&version=12020810&nettype=WIFI&fontScale=100&pass_ticket=OB4hdN6ImVq0WXd%2BDAJVSADk3OsXMiJH5VzZqXk%2F7meSbJNPMBTUB2z5%2Fct%2BuPmN) -* [QQ空间掉帧率优化实战](http://wetest.qq.com/lab/view/354.html) #### 布局优化 TODO: @@ -69,9 +82,10 @@ TODO: * [iOS App 启动性能优化-WiFi管家](https://mp.weixin.qq.com/s/Kf3EbDIUuf0aWVT-UCEmbA) * [iOS App如何优化启动时间-Facebook](http://www.cocoachina.com/ios/20160104/14870.html) * [iOS 启动速度优化-百度输入法](http://www.infoq.com/cn/presentations/ios-typewriting-start-speed-optimization) -* [一次立竿见影的启动时间优化](https://juejin.im/post/5a31190751882559e225a775) * [obj中国-Mach-O 可执行文件](https://objccn.io/issue-6-3/) * [iOS app启动速度研究实践](https://zhuanlan.zhihu.com/p/38183046?from=1086193010&wm=3333_2001&weiboauthoruid=1690182120) +* [iOS App冷启动治理:来自美团外卖的实践](https://mp.weixin.qq.com/s/jN3jaNrvXczZoYIRCWZs7w) +* [脉脉iOS如何启动秒开](https://zhuanlan.zhihu.com/p/396550853) #### 体积优化 * [iOS微信安装包瘦身](http://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=207986417&idx=1&sn=77ea7d8e4f8ab7b59111e78c86ccfe66&scene=24&srcid=0921TTAXHGHWKqckEHTvGzoA#rd) @@ -95,6 +109,7 @@ TODO: * [Optimizing-Swift-Build-Times](https://github.com/fastred/Optimizing-Swift-Build-Times) #### APM +* [移动端监控体系之技术原理剖析](http://ios.jobbole.com/92988/) * [网易 - NeteaseAPM iOS SDK技术实现分享](http://mp.weixin.qq.com/s?__biz=MzA3ODg4MDk0Ng==&mid=2651112215&idx=1&sn=9cc5b5fa630542a6d4b7a5626e35217a#rd) * [网易乐得 - iOS无埋点数据SDK实践之路](http://www.jianshu.com/p/69ce01e15042) * [听云 - 移动端 APM 产品研发技能](http://www.infoq.com/cn/presentations/mobile-terminal-apm-product-development-skills) @@ -103,6 +118,10 @@ TODO: * [揭秘 APM iOS SDK 的核心技术](https://github.com/iOS-APM/iOS-APM-Secrets) * [iOS-Monitor-Resources](https://github.com/aozhimin/iOS-Monitor-Resources) * [iOS 流量监控分析](https://juejin.im/post/5b1602906fb9a01e3542f08c) +* [小试Xcode逆向:app内存监控原理初探](http://ddrccw.github.io/2017/12/30/reverse-xcode-with-lldb-and-hopper-disassembler) +* [APMCon-2016演讲实录](http://apmcon.cn/2016/index.html#yjsl) +* [360移动端性能监控实践QDAS-APM(iOS篇)](https://mp.weixin.qq.com/s/Vq0TDiLbexxBlqlf_lilnQ) +* [移动端性能监控方案Hertz](https://tech.meituan.com/2016/12/19/hertz.html) #### 调试 & Crash * [iOS 项目开发过程中用到的高级调试技巧,涉及三方库动态调试、静态分析和反编译等领域](https://github.com/aozhimin/iOS-Debug-Hacks) @@ -115,6 +134,10 @@ TODO: * [HTTPDNSLib-for-Andorod](https://github.com/CNSRE/HTTPDNSLib) * [NetworkEye](https://github.com/coderyi/NetworkEye/blob/master/README_Chinese.md) +##### 内存 +* [FBMemoryProfiler](https://github.com/facebook/FBMemoryProfiler) +* [iOS Memory Budget Test](https://github.com/Split82/iOSMemoryBudgetTest) + ##### 卡顿 * [PerformanceMonitor-Runloop](https://github.com/suifengqjn/PerformanceMonitor) * [GYMonitor-FPS](https://github.com/featuretower/GYMonitor) @@ -124,9 +147,14 @@ TODO: * [LinkMap](https://github.com/huanxsd/LinkMap) #### APM +* [btrace](https://github.com/bytedance/btrace) * [iOS-System-Services](https://github.com/iOS-APM/iOS-System-Services) * [System Monitor](https://github.com/iOS-APM/SystemMonitor) -* [iOS Memory Budget Test](https://github.com/Split82/iOSMemoryBudgetTest) * [PerformanceTestingHelper](https://github.com/ArmsZhou/PerformanceTestingHelper) * [GT](https://github.com/Tencent/GT) +* [GodEye](https://github.com/zixun/GodEye) +* [ArgusAPM](https://github.com/Qihoo360/ArgusAPM) +* [AppleTrace](https://github.com/everettjf/AppleTrace) +* [matrix](https://github.com/Tencent/matrix) +* [MTHawkeye](https://github.com/meitu/MTHawkeye)