I wrote some simple tree/graph algorithms, but quickly ran into a lot of StackOverflowError
exceptions with some pretty small data. It turns out the stack is 8KB by default on my Samsung Galaxy S3, which has 2GB of RAM. My computer 10 years ago had a 1MB stack. The Linux machine machine I'm using right now has 4GB RAM. My phone's RAM is only half the size of my computer's RAM, yet my phone's stack is over 1000 times smaller. Why?
What is the actual technical reason that the developers of Android had to limit the stack much more than other operating systems? E.g is it because some Android devices have a small amount of RAM like 1MB or 10MB? I haven't surveyed the range of devices, but I find it hard to believe that any device would be so small.