Live data from Hacker News

Android vendors, don’t kill my app

dontkillmyapp.com

121–130 of 414 posts

Re: Android vendors, don’t kill my app

#121
post #90

To be honest, as a user I really like the implementation of battery saving features of my Sony phone: 1. They are not enabled by default 2. Their settings screen explicitly states what the modes do 3. They can extend battery life significantly The most aggressive mode is called Ultra Stamina, and it works by basically turning the phone into dumbphone mode -- complete without any internet connectivity, calls, SMS and…

[deleted]

Re: Android vendors, don’t kill my app

#122
post #44
post #4

Earlier quoted context omitted.

This sheds a bit more light on it, whilst still being non-technical: https://dontkillmyapp.com/problem/ It seems to be that these vendors ship builds of Android with aggressive battery-optimized defaults that breaks applications that rely on being able to run in the background.

Not just long-running background processes (e.g. gemerating a backup of your app). It may even prevent your push notification handler from running.

Most push notifications are spam, and even when they aren't, they are usually from self-important apps that think they are the most important thing running on your phone.

The only push notifications I want are messages from humans.

Re: Android vendors, don’t kill my app

#123

If your app is in the background it shouldn't need a load of resources. These resource limits are there to prevent bad developers using all your resources in the background. If you are having issues with this limit you are probably one of these bad developers. Removing the limit is not the solution, writing a better app is.

So how do you propose to write a sleep tracking app that doesn't run a background process for longer than 20 minutes?

Re: Android vendors, don’t kill my app

#124
I don't have any issue with applications dying unexpectedly or not receiving expected notifications on my OnePlus.

If anything, my gf's Galaxy is much worse in this respect. She doesn't usually get Hangouts notifications until she explicitly launches the app.

Re: Android vendors, don’t kill my app

#125
This is a kind of "benchmark" optimization. Perceived battery life is a factor when users buy mobile phones. And all it takes is one bad app and one influent user - to kill an entire product, and even a whole brand.

Re: Android vendors, don’t kill my app

#126
We are running a (very niche) platform + app for people with special needs, where accurate and offline alarms are necessary: this is a big problem for us.

I think about 1/3 of all our support requests are about the app being killed in the background on specific phones. The part of the app that does the actual scheduling of the alarms is a big mess with lots of device & API level exceptions. Debugging alarm problems is a nightmare.

We often advice users on what phone to buy and tell them to avoid specific brands. Sometimes users even need to buy a new phone to be able to have reliable alarm signals.

I understand why manufactures are doing this. But it really degrades the user experiences for our users quite a bit and is a significant cost (in terms of support load + extra development) for us as an app vendor.

Really hope that Android 8+ incentive manufactures to just use the standard Android mechanisms: they seems to work quite well in my experience. You can run things in the background, but only if it has a user interaction as a result: i.e an alarm notification. The user can then determine if this is wanted or not directly from the notification itself.

Unfortunately it is not much better on the Apple side of things with local push notifications limits.

Re: Android vendors, don’t kill my app

#127
post #73
post #58

This is the Android multitasking lead finally coming fully circle. Android had multi tasking much earlier and in a more powerful way by allowing apps to start their own serivices and do pretty much whatever they wanted, but this is the unfortunate logical result - apps that agressively kill other apps, installed by the handset manufacturers, to protect users from badly written apps that drain the battery in the servi…

Isn't it also the consequence of taking the control away from the user? Why can't I whitelist which applications I want to allow to run in the background? Why do I still have to grant an application all the permissions it requests when I install it instead of being able to turn them on or off individually? By dumbing things down that way Google created this situation IMO, it's bad from a quality, usability and privac…

No, it’s the consequence of permitting background tasks at will. Apple took some heat, and there is learning curve associated with doing it their way, but they actually thought it through and created an energy-efficient architecture that addresses common use cases. And apps that don’t fit those use cases - what are they doing with your device?

Re: Android vendors, don’t kill my app

#128
post #81
post #66

Earlier quoted context omitted.

No, you don't need a background task for alarms. There is a JobScheduler API for that. The aggressive battery settings of most vendors only interfere with badly coded apps to begin with, apps that use background tasks when they should be using more appropriate APIs.

what the jobscheduler api is supposed to be used for isn't clear in the docs so people tend to default to creating services(the old way of doing background activities) instead.

The API docs seem perfectly clear to me.

https://developer.android.com/topic/performance/scheduling

Re: Android vendors, don’t kill my app

#129
Killing apps is a good thing. There have been battery saver programs since the very beginning of early Android versions to kill of connectivity and clean up running apps. When Android now supports some of that natively and vendors too, even more aggressively, this is just responding to users' needs.

There is a quite clear usage pattern to support this behaviour: unless I explicitly say so, I don't want apps on their own to "do stuff" no more than I want my Ubuntu to "do stuff" while I'm doing something else. I only want the application to respond when I'm viewing it.

On Ubuntu, I always disable stuff like evolution server and automatic indexing after a fresh installation. At least you can do that on Ubuntu, that isn't necessarily always possible on locked-down systems. I'm happy that Android is quite usable these days because of Doze and background task killing.

Re: Android vendors, don’t kill my app

#130
post #129

Killing apps is a good thing . There have been battery saver programs since the very beginning of early Android versions to kill of connectivity and clean up running apps. When Android now supports some of that natively and vendors too, even more aggressively, this is just responding to users' needs. There is a quite clear usage pattern to support this behaviour: unless I explicitly say so, I don't want apps on their…

I mean sure, but at least give me a way to override it. On my OnePlus 5T running Android Pie, the system will keep killing my VPN client when in sleep mode, even though I have selected that I don't want to optimize it under battery usage. With the VPN client restricting all unprotected access, it means that once the phone goes into sleep, I stop getting all notifications for anything because there is no internet connection. It's very frustrating.
Post reply on HN