Acceleration of the launch of mobile applications before iOS 16
Many factors influence how satisfied users are with Apple applications, in particular, the download speed. No matter how great the program is, if you have to wait too long for it to open, then a person is more likely to find an acceptable replacement than to put up with the inconvenience. The problem is that sometimes delays are caused not by some development errors, but by the operating system’s operating features. Fortunately for software developers, the Apple brand is constantly improving its OS, so it makes sense to register or buy an Apple Developer account and create utilities. One of the turning points in the history of speed optimization was the presentation of iOS 16, and in this article from Nova.Shop you will learn more about the changes.
Background of the change
Even during WWDC22, the Apple company announced that in the latest version of RAM for iPads and iPhones at that time, the software launch speed would be an order of magnitude higher, in particular, Airbnb and Lyft performance would increase by 2 times. The optimization is related to the dynamic linker adjustment, in particular:
- fast execution of protocol checks;
- reduced time spent loading binary files due to the use of less data from the disk.
In fact, the programmers improved the parameters of the utility in the OS that launches the software after clicking on the icon. It is noteworthy that to achieve the maximum result, the American company used two approaches at the same time: lazy evaluation, eager loading. At first glance, it may seem that the improvement is insignificant, but this is not so. Right now we will tell you how effective the changes were – this information will be valuable for everyone who uses the Apple Developer console and publishes utilities in the official store.
Evaluation of the optimization of protocol checks in version 16 of iOS
The process of checking protocol compliance is mandatory for Swift utilities, and it takes place in real time. The essence is to determine the compliance of the type and protocol. If the mobile application is large, but the verification of parameters takes a long time. An additional problem is that the check occurs even if the user does not launch the program. As a result, developers who have spent a lot of effort on creating software, received an Apple certificate and published it in the store, are faced with dissatisfaction from the target audience and formal replies.
Experts from the American company saw a way out in the dyld closure. Now each downloaded utility has a separate cache that allows you to speed up dyld operations, in particular, help the program load faster. Using pre-calculated matches allows you not to spend so much time on launch. Moreover, if the system finds a match in the cache, then the check is not carried out at all. This allows you to eliminate gaps in iOS in large-scale applications.
Another important point that will please the creators of utilities is the spread of deployment protocol optimization even to software whose deployment target is below iOS 16.
Another change in iOS 16 that Apple Developer should know about
In parallel with the optimization of dyld, professionals from Apple took care to reduce the amount of data that is used at the time of launch, because disk overload slows down processes. During the first execution of a code fragment, the kernel starts loading the memory fragment that surrounds it (page fault). At the same time, part of the binary code is corrected for correct operation. Unlike iOS 15, where the correction was carried out at the moment of opening the utility, respectively, it was necessary to load each place with errors with a separate page, in iOS 16 page linking is provided.
Combining active loading and lazy evaluation in version 16 of iOS has significantly increased the performance of applications. When developing software for Apple devices, programmers can now not worry about the launch speed and count on good monetization. Naturally, you first need to get at least basic developer skills, create or buy an iOS account, get access to the Apple Developer program platform.
Blog