RAM Usage restricted to 3MB


Why does Thunkable apps restrict its RAM usage to 3Mb or so. This paves way for More App Crashes. Also does adding more Vertical/Horizontal Layouts increase the RAM Usage? Is there any Way to Increase the RAM use space > 3MB.

My apps keeps crashing (Doesn’t Cross More than 2 Cycles). I have 3 screens with images that are compressed to the required pixel sizes, maximum 350x350. I do use Firebase to get Images from URL’s to display on Screen. Is that a Problem?

P.S: It’s funny how none of these ERRORS appear while live testing the App via Thunkable but only when you download the Actual .apk


Did you try to remove these images and see if your app crash?


how do you switch screens?
see also tip 1 here



This RAM limit also affects my Dice app and causes crashes. I never knew that the limit was this low!! @Mark Can we get it up to 25 or 50 MB?


That’s more the phone’s restriction than Thunkable…


Everything depends on how you use screen sizing and how many images you have on the screen at the same time.



My cousin, the guy that originally made the Dice app.


@Taifun @Boban_Stojmenovic

Tried. I reduced All the PIXEL SIZES of my Images and It still Crashes. I tried adjusting a Few ADMOB components and then It gave way for 3 cycles. I ran a Logcat test and it was obviously OUT OF MEMORY ERROR. I just removed all the blocks from my screen and started to test each block individually. Apparently the Error is getting images from firebase. There are quite a lot of images that I append to the ColinTree Slideshow Extension, so I THINK that’s why the app crashes.

Below are screenshots of My blocks. And it still doesn’t cross more than 2 cycles.


I tried Tribblehunters Method and also the Manager screen method. All my icons have a maximum pixel size of 350x350 (I know I have some large Pixels). But the app ONLY CRASHES when I get around 10 images from Firebase.


you also might want to follow tip 2? see especially @Italo’s comments there…



Ahhh… Sounds Fair. But the Images are Uploaded by the USER and are stored in cloudinary. Every image probably has a different Aspect Ratio, and I have no idea how to mess around with them. Also would changing the ration crop the images upto some extent.


before uploading the images you might want to reduce its size (width & height)
the image extension and its Resize or Scale method might be able to help


Will try and get back to you. Thanks A Million!


Unfortunately, I have no experience with ColinTree Slideshow how it handles images nor with firebase when it downloads images

Just a thought!
ColinTree Slideshow does it load all the images in the phones memory if so 1 image 350*350px memory consumption 490000 bytes at fixed sizing and/or responsive density 1, responsive density 3 which is common 490000 *3= 1470000 bytes

10 images 4900000 --> *3= 14700000 bytes
50 images 24500000 --> *3= 73500000 bytes

Btw, I just tried ColinTree Slideshow demo aia and it crashed on my phone Samsung Note 8, it loaded only 5 images 1000*350px…



So does it mean to say that the Slideshow extension is Buggy. The docs say that it has an ASYNCHRONOUS IMAGE LOADER Built into the extension. Does that mean Anything? If you think the extension is buggy… Is there ANY POSSIBLE METHOD to display a “list of images” obtained from firebase sequentially without crashing. ANY METHOD. I know I’ve asked this in the forum before, but it yielded no response.

P.S: I tried the COLINTREE Slideshow v2 aia on my phone with I’m sure the same 5 images. It didn’t crash and worked seamlessly :frowning: I use a Oneplus X.


Hello @antonyjohne

Create a logic to get the list of items with few numbers and then keep appending the fetch data. You can append the get method using scrolling handler or a button etc.



Hey @mannankhanabdul Thanks for the input. Sounds like a great idea. However wouldn’t appending the data require me to have a dynamic number of Images components when I scroll Up. I don’t know if thunkable supports adding a dynamic Number of components yet.


You can create a counter - with clock component for each item in the list - items = global counter - you can control the counter with a clock specifying milliseconds so that you get few amount of data when scroll handler is triggered evertime and appends.


Hey @Taifun I tried your extension for scaling images, but they seem to work only for .jpg files and does not work for .png files. The photos that the user uploads may also be .png so I’m not sure how to proceed with this.


But when I load values from the counter, I would have to set the value to an Image Component right? How do I predetermine the Number of Image components required? For a clear picture, I’m planning to achieve something Similar to that of an Instagram feed, where there a lot of images in scroll View.

P.S: I’m really sorry to bother you with questions. :sweat_smile: