I have a task to optimize app start up time.
I know that using static framework and reducing the number of dynamic framework, will reduce app start up time.
From "iOS Memory Deep Dive" WWDC 2018. They talk about when iOS needs to regain memory back, it will unlod dynamic framework.
Does iOS behave like this .....
If an app uses only static framework, meaning there's no dynamic framework to unload. The apps need [app_size + static_framework_size] to be in memory all time. So the app will be terminated more often compare to using only dynamic framework.
If an app uses only dynamic framework, it needs [app_size + dynamic_framework_size]. However, when iOS need to regain memory, and the app is in background, iOS can unload only dynamic framework part, not unloading the whole app. So the memory size of app is [app_size]. This causes the app to be terminated less ? Next time when I open the app into foreground, it will load only dynamic framework and memory size return to [app_size + dynamic_framework_size] without app termination.
I just want to make sure that, if I change my app to use only static framework, my app will not be terminated more often.