All I wanted to do was swap tasks. ALT-TAB. Simple. Convention and logic since the day GUIs started. A programmer must program correctly, what I think is poor is that most people these days use wizards and controls. I used to program with pixels, why do people think everything should come on a silver platter?
I think overall you have made the distinction between the 'app process' and the 'activity'. You are not reloading the layout in the activity every time, but only when the activity is killed/exited. 'FirstTime' will be false only when the activity was killed (either due to Activity.Finish or the OS reclaiming resources) but the 'app process' was not.
I do agree. It is very obvious what is happening. Apps if they weren't all 'non-native' pretend real coded apps wouldn't take up that much resources. Phone's with 16GB RAM - I think somewhere along the way people have forgotten to program concisely and natively and relied on wizards, custom controls and the detriment to that is that you sadly can't control the outcome - because you didn't write the source from ground up. I guess this points out a big distinction in programming with say the old reduced Win32 Windows Mobile SDK which was built for efficiency to the clunky phones that if we all would have predicted 10 years ago would be the size of a finger.
Pocket PC's died but the concept was built with an API for raw efficiency. I guess the VB6 gurus out there can relate to the horror stories in REAL BUSINESS CORPORATE application development, for pharmaceutical companies, or banks, etc, where not knowing 100% of the insides of your code is DETRIMENTAL and makes the difference between a real programmer and what they teach these days. That's why so many people rejected .NET. There is not one thing it can do that C++ or even VB6 can't.
Security and restrictions I get, but why have a brick full of 16GB RAM, app companies promoting massive slow memory HTML5 games or FAKE apps taking 3 times the memory, and then say - but its still a mobile so we should allow you to get back to that, but kindof.
Android did not follow the convention and broke the rule of logic with this one. Ah well. Every programming language is as good as the other apart from what they put on top that you can't control. I will not make a company application with one dependency without writing my own controls and it works - but with the monopoly Apple and Android have created for mobiles - developers just say - ah well, HTML5 - poorer quality apps, less innovation. HTML5 can't do 1/1000th of native code. PS. I wrote a patent that uses an online system that Microsoft Apple and Google are all waiting for the results for in the Full Federal Court of Australia and every patent country is watching my invention - setting law in Australia - manner of manufacturer. If my patent is upheld then Google and Apple actually don't run the risks of having their Australian patents invalidated. My patent beat the government in the Federal Court, and she appealed and she still will probably lose.
Check this out patent followers:
http://blog.patentology.com.au/2015/05/software-patents-back-under-appeals.html
The world awaits!