I was able to figure out the 2 secs. delay when clicking on a button. It was caused by the Accelerator during that time and that issue was fixed already by the Thukable team. Here is the thread about that: App became a really slow today
To answer your questions,
- I already refactored the app so that each page will only have less than 2,000 blocks. I used Any Component blocks, removed unnecessary functions, and sometimes I had to remove some functionalities or split into a different screen.
- I refactored the app to not use Cloud variables and Stored variables as much as possible. I made sure to use local variables if the variables are not needed to be on the cloud or across sessions.
- My app doesn’t wait on data from cloud. My app is designed to work offline (I used storied variables for the user data so it can be accessed offline) and manually syncs to the cloud after rendering the first screen (when the user is idle or scrolling). I have a splash page with a 5 sec. animation and I initialize and and render the first screen while the Splash page is visible.
- I’m getting complaints from iPhone 6 to iPhone 8 users especially when they are on Low Power Mode.
- I get lots of complaints from Android users from multiple types of devices (The only device e haven’t tested is the latest Samsung S20. Basically, my app cannot be released for Android users because it’s just really slow on Android. Most blocks (cloning, set label text, etc.), is at least 5x slower on Android. Any help on this would be appreciated. After doing all the refactoring, it was still slow on Android unfortunately and the app is still not acceptable for public use on Android. I’m out of ideas and the next step is to move to a different platform (e.g. Flutter) or native platform which will cost more money.
What I need now are general recommendations and guidelines to follow so I’m not guessing if I designed or implemented something that’s not recommended or won’t perform well. Also, is there a way to get a code review from the Thunkable team to know if I’m implementing my app with the best performance it can get?