Hacker News new | ask | show | jobs
by chugger 5348 days ago
Android is not a real-time OS and is not designed for embedded devices. the kernel is not real time and java has severe latency problems caused by asynchronous garbage collection. A workaround is to allow the garbage collector to run on a separate core (one of ICS's main feature), but Nexus One's cpu is single core. I guess Google did not have the foresight to design Android to disable garbage collection. as I mentioned before, automatic garbage collection is disabled in iOS/Obj C primarily because of performance issues/battery life.
1 comments

The Nexus S also has only a single core, but is already scheduled to get ICS, and I actually already have an SDK port running on it just fine. I think the more plausible excuse is that the Nexus One has a pitiful amount of onboard ROM, which already has issues with limited space for both the OS and apps in 2.3. Granted there are SDK ports to the N1 already as well, but I wonder just how much space is available on the device for applications. Even though installing apps to SD card is supported, it's not optimal, and certain apps just won't work that way.
I was explaining why Android is not designed for embedded devices. Sure ICS can run on phones with one core as long as their fast enough but theere will always be lag and delays due to the garbage collector constantly running in the background.