I’ve recently updated my app and publish it into Google Play and iOS stores. I also have my app published as a web app. The update was just minor bug fixing and design improvement, no new blocks nor components.
Surprisingly the performance in both android and iPhone is horrible while the web-app executes perfectly well.
It may be something in the blocks or the way variables are used but we need more information to be able to help out here. Could you share some screenshots of the blocks where you are noticing these performance issues? Or possibly share your project URL with us? Thank you!
Thanks for the response Matt.
I think the issue is in this block, im now refactoring it…but if it where for the blocks why is it performing so well on web and so badly on android? (iOs is in the middle of both)
I attache the screen record so you can see what i refer
Adding some logs to record seconds since 1970, the whole function When Dash UX takes only 439 ms…but you can see in the video its taking around 11 seconds painting the screen.
I have just opened an app on the thunkable platform that was last updated in April 2023, I have made no changes at this point but was just running through to check everything works before updating.
When downloaded to the device a list filtered from a local app variable is taking over double the amount of time to complete compared to the original app on the same device.
Original app: Around 5 seconds
Recent app with no changes: Around 12 seconds
Web preview from thunkable platform: less than a second
All looking at the same local data of around 1000 records.
In my case i think the issue is on the rendering…in any device (web , android or iOS) the functions are taking the same time and reasonable performace, the difference comes on the time it takes on the mobile devices to fully show the screen…any idea what can this be?
Can you share the blocks and/or project with us? It is impossible for us to know why this issue could be happening based on just seeing the app running in production.
I would also take a peek at this post, which talks a lot about performance and how to use different blocks and variables to speed things up.
These are the blocks running the filter for the above examples, could not be simpler.
But the issue is more that all I have done is open an app on the platform 8 months after it was last edited and the same search has more than doubled in time to run?
I posted a similar topic here, i’m just going to paste it here for you to look at:
Hello everyone,
Apple just rejected my new release from an existing app, the reason is that the app takes too much time to perform some simple actions.
I thought it was my device but now i guess it’s not just me.
To change the screen it actually takes from 6 to 12 seconds.
The “Cocktails” database is a local one (i thought it would be faster).
I just need it switches screen fast, as in the one afterwards there are already some loading icons.
Believe me when i say i tried every single option (get data from airtable, get row object and then load with “get properties”, get data from local database, get data from variables, ecc…)
This one takes up 4/5 seconds
In general the drawer menu takes 3/4 seconds everytime i click on an item
Did something change recently about drawer menu and data list?
Thank you for your help
Here some more useful info you might need:
it’s in the Snap To Place platform, but i had the same problem with the d&d after converting it
No big changes were made in the app
If I download and install the APK i encounter the same issue
Let me know if you need more info that might help you
May I ask you if the barcode that is scanned is unique in all the rows, or if you can find the same barcode in other rows too?
If it’s a unique one, that means that it won’t be found in other rows, instead of using the component “for each item” which takes a lot of time, you can use:
Get Row Object
In list “get all values from column ‘barcodes’ in offLineTemp” - get the first occurance of Scan_Input5
The issue only affects the local version running the filter from an app variable with objects.
In the same app I have the exact same filter using the same list/object combination live from firebase without the app variable and this completes in under 1 second with the same data.