Turned out, this question is not easy to formulate for me, but let's try.In Android, pretty much any UI object depends on a Context, and has defined lifetime. Android can also destroy and recreate UI objects and even whole application process at any time, and so on. This makes coding asynchronous operations correctly not straightforward. (and sometimes very cumbersome) But I never have seen a real explanation, why it's done that way? There are other OSes, including mobile OSes (iOS, for example), that don't do such things. So, what are the wins of Android way (volatile UI objects and Contexts)? Does that allow Android applications to use much less RAM, or maybe there are other benefits?
What are the benefits of Android way of saving memory - explicitly passing Context objects everywhere?
android;ios;memory;async;asynchronous programming