Closed BigSauce closed 9 years ago
Thanks for reporting that. I'll run some tests on my devices tomorrow.
@BigSauce could you please tell me:
Thanks.
Looks like the code that creates NSInvocations is much slower on iOS9. For a workaround you can use UISS generated code.
Thanks for your quick response, @robertwijas.
The crash occurs on iPod Touch 5th Gen and iPad Mini (1). I speculate that this is because the hardware in the aforementioned older devices cannot compensate for the performance loss caused by NSInvocations as well as newer devices can, and so the app startup gets killed by iOS when it takes too long.
What do you mean when you say "for a workaround you can use UISS generated code"?
In UISS console you can generate Obj-C code that calls UIAppearance proxies directly. You have to manually copy the code to your class and execute it when app is launching. This eliminates all the parsing and runtime juggling therefore it's as fast as possible.
I'll give this a try. Thanks for your prompt responses!
@BigSauce I published #48 which should improve the performance. Let me know if it's good enough for your iPad Mini 1st gen. Thanks!
@robertwijas That worked like a charm! App startup time improved by about 10-13 seconds.
Thanks for publishing that pull request. Can you merge it and publish the new version to the pod? Thanks again!
@BigSauce Done. Happy to help.
Whereas I used iOS 8.4 previously, now I am using iOS 9 GM Seed, and UISS is slowing down app startup significantly (by about 10-20 seconds). It looks like the main bottleneck exists in the many [NSInvocation invoke] calls when setting up UISS.