• WWDC
  • The article
  • tool
  • code
  • Partial door antique
  • books
  • conclusion
  • Find good information sorted here, updated at any time, the last update on August 6, 2018

    WWDC

    1. Optimizing App Startup Time

      Will look at the official data, from the bottom to upper developer.apple.com/videos/play…

    2. App Startup Time: Past, Present, and Future

      Dyld level optimization developer.apple.com/videos/play…

    3. Optimizing I/O for Performance and Battery Life

      IO is the important influence on part of the startup performance developer.apple.com/videos/play…

    4. Practical Approaches to Great App Performance

      Field step by step to solve performance problems developer.apple.com/videos/play…

    5. Using Time Profiler in Instruments

      TimeProfiler is indispensable good helper developer.apple.com/videos/play…

    6. High Performance Auto Layout

      App homepage if is AutoLayout, then later it seems that is not a problem developer.apple.com/videos/play…

    7. Core Image: Performance, Prototyping, and Python

      Home page, of course, also have a lot of pictures, to understand the Core Image developer.apple.com/videos/play…

    The article

    The following articles are just a collection of opinions from different schools. Do not believe them all, nor oppose them.

    1. Jike Technology team: iOS APP startup speed research practice

      Address zhuanlan.zhihu.com/p/38183046?… Learn ideas.

    2. Effect of iOS Dynamic Framework on App startup time measured

      www.jianshu.com/p/3263009e9… Dynamic library testing. Do not load dynamic libraries during startup.

    3. Optimizing Facebook for iOS start time

      Code.fb.com/ios/optimiz… Facebook’s thinking. Facebook got off to a slow start.

    4. Bugly: iOS App startup performance optimization

      Mp.weixin.qq.com/s/Kf3EbDIUu… The article ends with a powerful idea. It is highly recommended to read the end of the article carefully.

    5. Toutiao iOS client startup speed optimization

      Techblog.toutiao.com/2017/01/17/… There is a lot of information at the beginning of the article, but reducing the amount of code is unlikely to make sense.

    6. How to accurately measure the startup time of aN iOS App

      www.jianshu.com/p/c14987eee… The idea of the article can refer to.

    7. Optimize App startup time

      Yulingtianxia.com/blog/2016/1… Mostly notes on WWDC, but still awesome. Xiao Yu in the south and Zi Qi in the north. This article was written by Nan Xiaoyu.

    8. Mobile iOS performance optimization exploration

      Github.com/izhangxb/GM… This is GMTC 2017 mobile phone Taobao expert technology sharing, you can refer to.

    9. IOS App Startup Performance Optimization (1)- Premain

      Everettjf. Making. IO / 2018/05/26 /… It’s just the idea of pre-main. The author says there’s a follow-up article, but it’s been a while, so I don’t know what’s going on.

    10. Hook Objective C +load method

      Everettjf. Making. IO / 2017/01/06 /… The hook of this article is more troublesome, it can also refer to the above article www.jianshu.com/p/c14987eee… Here is the code for batch hook +load. (I have plans to put all this code into a REPO in the future)

    11. Hook C++ static initializers

      Everettjf. Making. IO / 2017/02/06 /… The hook method of this article is probably initiated by me and strongly recommended. This method is also mentioned in the sharing of hand shopping.

    12. A way to delay premain code

      Everettjf. Making. IO / 2017/03/06 /… By studying the Facebook App in the section (refer to article everettjf. Making. IO / 2016/08/20 /…). One way of thinking of discovery.

    tool

    1. TimeProfiler

      We all know what it is.

    2. AppleTrace

      Github.com/everettjf/A… HookZz hook objc_msgSend has a high performance loss, but can know the approximate time ratio based on the relative ratio. Also manually define the start and end to generate Chrome Tracing.

    3. DTrace

      Only for emulators. Using the method can be reference book: the Advanced Apple was Debugging & Reverse Engineering store.raywenderlich.com/products/ad…

    4. Xcode environment variable

      DYLD_PRINT_STATISTIC and other similar environment variable developer.apple.com/library/arc…

    code

    1. FastImageCache

      Github.com/path/FastIm… Optimize image loading speed. Space for time.

    Partial door antique

    1. Code Size Performance Guidelines

      Developer.apple.com/library/arc… The idea at the bottom of the page is good, but the article is from the age of GCC. Is there an equivalent from the Clang era? Improving the Locality of Reference developer.apple.com/library/arc…

    books

    1. Pro iOS Apps Performance Optimization

      Seems to be relatively old, only reference.

    2. iOS and macOS Performance Tuning

      Very detailed. I’m looking at it right now. There is a Chinese translation.

    3. High Performance iOS Apps

      There is a Chinese translation.

    conclusion

    I have read, or at least am reading, all of the above articles to help you optimize startup performance.

    In addition, over the years, I’ve learned that it’s easy to get stuck building a car if you don’t talk about it (or maybe it’s for a normal person like me, but for a genius). Where there is communication, there is progress. So I created a subscription account (or, more accurately, created another one) and planned to post at least once a week a few performance tweaking tips (not necessarily new, but most likely already online). To keep the subscription number focused on performance optimization.

    If the reader is interested, you can pay attention to it, any questions are welcome to exchange (there will be wechat group in the public number), different from some charging articles or groups, there is no plan to charge at present or in the future, mainly I am still too dishes, just want to communicate more, common progress.