Earlier quoted context omitted.
I think Android dev is unnecessarily designed in a way that makes saving data require a lot of code. If you know what you're doing, you can mmap a file, put all your working memory in there, and let the OS save it for you. No serialization or parsing necessary and memory access is exactly the same as usual with no overhead. You'd think that using a managed language would make it easier to abstract and support this ki…
How to kill solid storage with one easy trick! Please don't do this.
Don't kill my app
81–84 of 84 posts
Re: Don't kill my app
#82Earlier quoted context omitted.
From the app's point of view both are the same - the app can no longer execute code and upon resume it must restore state.
Suspending means that its memory was preserved, so the app doesn't have to do anything !!!
Re: Don't kill my app
#83When you're in Edge, switch apps, and go back, the amount of times Edge RELOADs the page is staggering. And of-course, reload means re-fetch from the server which isn't necessarily idempotent.
Yelp & HikingProject (REI): Same issue...
And given Apple's control over the ecosystem it's quite weird that tombstoning (what it was called on Windows Phone) isn't enforced, even though it's one of the most jarring experiences of using 'apps'.
And frankly, that would cover 99% of all battery life issues. The only reason these apps want to stay alive is to maintain state. State that can perfectly be serialized & restored.
Re: Don't kill my app
#84Earlier quoted context omitted.
Suspending means that its memory was preserved, so the app doesn't have to do anything !!!
While suspending may be the first state, the OS can choose to fully evict the app from memory if it needs it for other tasks. So a "good app" saves state before being suspended so that upon resume, it can restore from disk even if it was "killed".