1

Degraded native app performance on iOS

 1 month ago
source link: https://community.sap.com/t5/sap-builders-discussions/degraded-native-app-performance-on-ios/td-p/13653029
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Degraded native app performance on iOS

Tinashe_Mukombe

Explorer

4 hours ago

- last edited

3 hours ago

Firstly I'd like to thank the team for constantly working on the Build apps platform, I'm sure there is a lot more that goes on behind the scenes when it comes to keeping a framework as complex as this running. I only say this because there has been some recent backlash towards the platform but I'd like to clarify that I only create this discussion post out of good faith to hopefully address some performance issues I have faced so that we as developers can release overall better quality products.

Runtime version 4.9.218 has addressed the issue with missing Siri usage string (hooray 🎉), however the celebration is only short-lived as I have noticed a severe reduction in native app performance and responsiveness since runtime 4.9.201. Perhaps It's only on my end so I would be curious to know if anyone else has also noticed poor iOS performance recently. I started noticing this difference on the newer runtimes after being able to add the required Siri usage string myself thanks to this workaround. Drawing a comparison between natively running and iOS preview, certain unchanged components are running significantly slower and sometimes unexpected anomalies happen. There is anywhere between 5 to 10 second delays with component taps and sometimes the app freezes entirely meanwhile the device is heating up significantly. Texts are changing to unassigned colours/alignment and images are setting themselves to different resize modes. Some Boolean variables have assigned themselves the opposite of their original state and Lottie animations seem to have resized themselves 😅

Here are some screenshots of these weird anomalies. Both screenshots are natively running builds. To the left of the image is always from older runtimes (4.9.121) and images to the right are built with runtime 4.9.218 running natively.  The screenshot comparisons are of only of untouched properties.  If you wish to recreate these scenarios and draw a comparison in performance, here's some information: 

How the app is intended to run, look and perform  (4.9.121 build on the App Store )

How the app is running now (4.9.218 build through TestFlight)

App ID: 48782

Here's an example of text randomly assigning itself a different colour, the property has not been changed in both versions 

"By Fernando" has unexpectedly changed colour from white to black

The text color property

The text color property

 (Custom font SF Pro Rounded in both cases)

Images randomly changing resize modes

photo-output.jpeg
Screenshot 2024-03-28 at 7.20.55 PM.png

(Here I use a formula to achieve the same look on both iOS and Android builds as sometimes images behave differently on both platform. This property has been unchanged since 4.9.121) 

Unexpected gaps and components resizing. Also unchanged properties in both versions  

photo-output.jpeg

This page has become a nightmare. What was once a smooth simple process of posting an image has become extremely glitchy while the device lags and overheats. Problems arise when the keyboard is pulled up. First difference is that the keyboard changes colour. The contents seem to get compressed as a massive blank white space unexpectedly appears 

Screenshot 2024-03-28 at 7.34.25 PM.png

The Background image is in between two absolutely positioned containers so they should not interact with the image. The image itself is set to a relative position. Perhaps pulling up the keyboard when typing is causing this weird behaviour, however this was not an issue in previous builds

Boolean variables assigning themselves an opposite initial state

 

photo-output.jpeg

 For context, when you click on "Change picture" or "Account verification", a process initiates which is indicated by a spinner. The spinner visibility is bound to a boolean pageVars with an initial value false. When the process starts, a formula changes this to true making the spinner visibleThe text in the button is also set to the same variable but with a not operator so that neither the text nor spinner are in the same visible state at any given point. However In this runtime they seem to have unexpectedly switched roles. I have not made any changes to the page in months which is very unusual .

In conclusion 

I'm not sure if I want to go ahead and make changes to my apps after this runtime to correct these anomalies without understanding what's causing them to happen in the first place. There is a significant effort retracing all these 'broken' features and even if I somehow correct them, it would be counter productive to see the features break again if the issues were ever addressed on the runtime build process. Furthermore with the degraded quality of my iOS apps from this runtime, I simply cannot rollout any updates due to below standard performance and must wait even longer. Perhaps it is just me and therefore I'd also like to find out from the community if anyone else has experienced these performance issues or perhaps anyone can point out anything I have done inefficiently or could do better/improve on


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK