Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How cpu and memory intensive is android development?

I've been programming for about two years (android and java for a few months), but I still don't really know what impact the processor (speed and cores) and the amount of RAM has on the "programming experience" (compilation time, responsiveness of tools, overall workflow, etc.).

(If I'm allowed) to be specific (otherwise ignore): I'm about to buy a 13" MacBook Pro and try to decide between the i5 (2,5 GHz Dual-Core) and the i7 (2,9 GHz Dual-Core) and find this hard.

like image 397
CodeMonkey Avatar asked Aug 28 '12 07:08

CodeMonkey


1 Answers

I don't program in Android that often, or even use Eclipse regularly, but I know that in my old 1GB laptop, Eclipse takes forever to load and is very sluggish, while it loads pretty much almost instantly with my new 8GB, is almost flawlessly smooth. But the only difference in the two laptops are not just the RAM or the CPU though, the old laptop is spinning a 5400rpm disk platter while my new one uses solid chips.

Specifically with Android development though, you will be running the emulator and probably multiple instances of the emulator at the same time. These emulators are pretty memory hungry, and Eclipse aren't lightweight by any measures either. You never ever want swapping, swapping is only there for so the system doesn't start killing processes if it ever runs out of memory, but you don't want it to ever be filled with anything with day-to-day usage. If your system starts swapping, that's the sign that it's severely need more RAM.

In my personal experience, larger and faster RAMs generally contribute to responsiveness better than faster CPUs (though you still need to get at least a mid-range CPU); compilation is usually I/O bound (although this might be different depending on the codebase) so it's best if the OS can keep all the files you're currently working with in disk cache in the RAM, and for loading times you want a fast harddrive (or even better, an SSD; because fast harddrive is much noisier, much more vibrations, and battery hogs, which is sometimes acceptable for a desktop tower below your desk but not for laptop).

Another important consideration is power-saving features in the CPU and battery life if you're going to be using it on the way; the weight, the screen and keyboard size, the "feel" of the touchpad (is it too slippery, or too rough, etc; once you get used to it, touchpad is much faster and comfortable than the mouse since it's much closer to the keyboard). Don't just compare the numbers.

like image 82
Lie Ryan Avatar answered Sep 19 '22 06:09

Lie Ryan