The application stack is Android's method for letting users switch from application to application with ease. It's rather simple in concept. Applications are added to the stack and never fully quit. The apps go through a lifecycle from launch through being in the foreground and background. The idea is that the apps should save state so you can return to them and continue working. It's great in theory but less effective in practice, even with Google's own apps. The responsibility for maintaining state is split between Android which will carry out lifecycle functions like saving and restoring applications, and developers who need to write code to actually save and restore state.
The problem comes in when you are in a task, leave and do a few things, and then return. For example, I could be reading a web page, switch to email, launch a link to read a new page, switch back to email to write a note about the page I was reading, then switch back to the browser and I end up not at the last page I was reading, but the one I started on because the second task in which I was using the browser was taken off the stack. The life cycle is working as designed, but it's a bad design.
Mike Fratto is a principal analyst at Current Analysis, covering the Enterprise Networking and Data Center Technology markets. Prior to that, Mike was with UBM Tech for 15 years, and served as editor of Network Computing. He was also lead analyst for InformationWeek Analytics ... View Full Bio