Battery draining bugs very common - Android Software/Hacking General [Developers Only]

This study confirmed what I believed all along for a lot of Android apps, they have bugs or just inefficient code in them that drains the battery when it shouldn't. I hope Google, the developers of AOKP, CyanogenMod, & others focus more on this issue. A lot of custom ROMs & kernels introduce problems too. Sure we can all just slap on after-market batteries, but I prefer to not carry a brick in my pocket.
http://www.purdue.edu/newsroom/research/2012/120613HuSmartphoneBugs.html
ABSTRACT:
Despite their immense popularity in recent years, smartphones are, and will remain, severely limited by their battery life. Preserving this critical resource has driven smartphone OSes to undergo a paradigm shift in power management: by default every component, including the CPU, stays off or in an idle state, unless the app explicitly instructs the OS to keep it on. Such a policy encumbers app developers to explicitly juggle power control APIs exported by the OS to keep the components on during their active use by the app and off otherwise. The resulting power-encumbered programming unavoidably gives rise to a new class of software energy bugs on smartphones called no-sleep bugs, which arise from mishandling power control APIs by apps or the framework and result in signi?cant and unexpected battery drainage. This paper makes the ?rst advances towards understanding and automatically detecting software energy bugs on smartphones. It makes the following three contributions: (1) We present the ?rst comprehensive study of real-world no-sleep energy bug characteristics; (2) We propose the ?rst automatic solution to detect these bugs based on the classic reaching de?nitions data?ow analysis algorithm; (3) We provide experimental data showing that our tool accurately detected all 12 known instances of no-sleep bugs and found 30 new bugs in the 86 apps examined.

Hey Whyzor! Why so serious??
Have you lost your Optimus V and moved on to bigger and better phones?
Nice to see you're still geekin' it up.
BTW, what's this tool this article is alluding to?

jawz101 said:
Hey Whyzor! Why so serious??
Have you lost your Optimus V and moved on to bigger and better phones?
Nice to see you're still geekin' it up.
BTW, what's this tool this article is alluding to?
Click to expand...
Click to collapse
Hey, I was just posting something I came upon in my RSS feeds today, thought I'd share. When I was more active in the dev community, if you remember, phantom battery drains was one of my pet peeves. These days I'm just using a debloated stock-ish ROM on HTC Sensation w/ TMobile prepaid. VM was good while it lasted, but I needed better phone selections & data speeds.
As for the tool, I'm guessing it's in the full research paper or some further digging is needed. They probably will release it to the public domain eventually.

Lol I thought you'd written the paper at first
Sent from my LG-VM670 using Tapatalk 2

Related

RAID? Bluetooth 3.0 capabilities??

Forgive me if these questions are elementary or if they don't even make a lot of sense. I'm not claiming to be a hardware genius by any means, in fact I'm quite the opposite.
My first question is whether or not it is possible on an android device to RAID the internal partitions in any formtat? I think this would require two flash sources and my question then is whether or not, if the hardware was theoretically able to support it, the operating system would support a situation attempting to boost read/write speeds utilizing a RAID setup. Maybe there isn't even a benefit to doing this with flash? If there is, what would be some of the benefits, and conversely, drawbacks of this?
The next question I have is what the capabilities of bluetooth 3.0 are. Specifically, can BT 3.0 be used for 1080 video playback? And can BT be used in something like fastboot?
Thanks in advanced to anyone willing to field these.
Sent from my Gummy Charged GBE 2.0 using XDA App
blacksparro said:
My first question is whether or not it is possible on an android device to RAID the internal partitions in any formtat? I think this would require two flash sources and my question then is whether or not, if the hardware was theoretically able to support it, the operating system would support a situation attempting to boost read/write speeds utilizing a RAID setup. Maybe there isn't even a benefit to doing this with flash? If there is, what would be some of the benefits, and conversely, drawbacks of this?
Click to expand...
Click to collapse
To achieve higher performance we would probably go for a RAID0, the obvious drawback here is that if one of the memories fails, all data is lost.
With the hardware its not that much of a problem if it supports raid, but rather if the systembus has the bandwidth for it to be worth it.
There is 'MDADM' a software raid solution for linux.
You could try to compile an android kernel with the mdadm module loaded...
In the end though... why all the effort...
Why do you need this .
Hi,
Thanks for the response. Well what I'm getting at here is trying to think of ways to enhance a phone's performance without this arms race of faster and faster processors that ultimately consume more battery life with each successive increase in performance. Much like the SSD and SATA did for desktops, we should maybe focus on other areas in which phones get bottlenecked and let the chip engineers worry about smaller and more efficient instead of faster and faster.
There's a serious problem with smartphones and that problem is battery life. I'll be willing to bet that the overwhelmingly vast majority of consumers are willing to give up things that (albeit may seem necessary to us devs for our fun) are simply not very much used by the every-day consumer that doesn't even know the difference between Gingerbread and Honeycomb. I think HDMI is one of them and if BT3.0 can transfer 1080p then what's the point of having so many features in a phone that can be done by one and wasting valuable space for that additional few hundred mAh of battery power?
Most of the phones that are coming out right now do not need to get smaller, I think the market has a sweet spot for thickness and size of devices and these phones are in there--but the batteries are not. I don't know about you but just about everyone I know complains about battery life and I would kill for a phone that can go 2 or 3 days without a charge.
That is why I have advanced task killer as well as a sbc kernel. I enjoy all day fun with all the bells and whistles too.
Sent from my highspeed rooted Evo.
Stay away from task killers. They actually do more harm than good.
Check out an app on the market called tasker. Helps you to manage your battery more efficiently.
Stay away from task killers.
Bluetooth 3.0 allows a faster streaming of data when used to network information between Bluetooth devices.
Essencially yes. You can stream 1080p videos using it... but... the device your streaming it to/from needs to support the standard as well.
Ex. You decide to teather your tablet to your 4G phone via Bluetooth to watch 1080p YouTube videos.
Your phone supports 3.0 and you tablet is also 3.0. Streaming will be nice and fast.
But if one of the devices is a standard prior to 3.0, you 3.0 device will transmit at the fastest capable speed of the lesser network
I hope this helps.
And by the way,..
Stay away from task killers.
Sent from my Xoom using xda premium

Carat The Brilliant App That Increases Your Battery Life...

Just saw it on techcrunch and installed it some 30 min ago. It might be of use for our hungry beast.
...The guys that built Carat? They’re not joking around. They’re a team of top-notch M.S. and Ph.D scientists from the UC Berkeley electrical engineering and computer science department’s Algorithms, Machines, and People Laboratory (AMP Lab). Carat wasn’t built to make money. It’s the consumer product of cutting-edge battery science and a way for the team to collect more anonymous, privacy-respectful data for research that could make all our devices last longer.....
https://play.google.com/store/apps/details?id=edu.berkeley.cs.amplab.carat.android
Just use BetterBatteryStats.
Like the guy with the One X said in the comments (on the Play Store), how can it work properly if it keeps your device in a constant wake lock? Surely that will eat up your battery and render the "test" useless and then that kills the entire point of the app?
Sent from my White Galaxy Note using Tapatalk 2
Apart from the rating on playstore has anyone tested the app actually bfore writing it off....
hmmm... BetterBatteryStats is still better I think...
luckymustafa said:
hmmm... BetterBatteryStats is still better I think...
Click to expand...
Click to collapse
I don't think you can compare apps that are so different, and conclude that one is better...
Betterbatterystats is a good app to debug your phone, Carat is a project to collect info about the consumption of the apps people use, and provide some statistics about how your phone behaviour compares to others and how it can be improved.
not worth it. im far more happy with my System Panel

Samsung DVFS cripples phone performance, is it an issue for you?

Did you know that Samsung has a system called DVFS that basically does nothing other than cripping your phone's performance with aggressive underclocking? There's a big thread about it here, but other than that, it seems that this issue is not very well known, which is surprising considering the SGS4 is a very mainstream phone. When I discovered about it I was shocked because this system does literally nothing useful, but it makes gaming or other high end smartphone activities (heavy browsing, 3D games, heavy multitasking, etc) lag like crazy.
It shocks me that Samsung has implemented such a thing and that you cannot disable without rooting (and obviously voiding the warranty and your Knox flag), and nobody except a few XDA users noticed.
MarkMRL said:
Did you know that Samsung has a system called DVFS that basically does nothing other than cripping your phone's performance with aggressive underclocking? There's a big thread about it here, but other than that, it seems that this issue is not very well known, which is surprising considering the SGS4 is a very mainstream phone. When I discovered about it I was shocked because this system does literally nothing useful, but it makes gaming or other high end smartphone activities (heavy browsing, 3D games, heavy multitasking, etc) lag like crazy.
It shocks me that Samsung has implemented such a thing and that you cannot disable without rooting (and obviously voiding the warranty and your Knox flag), and nobody except a few XDA users noticed.
Click to expand...
Click to collapse
You say it does nothing useful, but what does it do for battery life?
s14sh3r said:
You say it does nothing useful, but what does it do for battery life?
Click to expand...
Click to collapse
Nothing? The phone already has extensive battery saving options, and it already has an underclocking option right there. Not to mention, swappable battery. Why is this thing enforced on everyone? If you use your flagship tier phone like it was an old Nokia from the nineties then it might not affect you. Since I use my phone for browsing internet, multimedia, and games, it does affect me a lot. I don't give a flying **** about one hour of additional battery when my phone slows down to a crawl. If I wanted to enable crawl mode I should have the option, the phone shouldn't decide arbitrarily when to slow down.
Also, if you really want to get into conspiracy theories, what makes you think this isn't a marketing ploy by samsung? To force users to get the S5 because the old one has such poor performance in games and stuff like that? The average smartphone user is so dumb he wouldn't realize it's all planned right in the system itself, they'd go " hurr, my phone can't run games well anymore, better go out and buy the S5, that will surely play games better, with it's multiple megapixels and cores and newer stuff I have no clue about".
MarkMRL said:
Nothing? The phone already has extensive battery saving options, and it already has an underclocking option right there. Not to mention, swappable battery. Why is this thing enforced on everyone? If you use your flagship tier phone like it was an old Nokia from the nineties then it might not affect you. Since I use my phone for browsing internet, multimedia, and games, it does affect me a lot. I don't give a flying **** about one hour of additional battery when my phone slows down to a crawl. If I wanted to enable crawl mode I should have the option, the phone shouldn't decide arbitrarily when to slow down.
Also, if you really want to get into conspiracy theories, what makes you think this isn't a marketing ploy by samsung? To force users to get the S5 because the old one has such poor performance in games and stuff like that? The average smartphone user is so dumb he wouldn't realize it's all planned right in the system itself, they'd go " hurr, my phone can't run games well anymore, better go out and buy the S5, that will surely play games better, with it's multiple megapixels and cores and newer stuff I have no clue about".
Click to expand...
Click to collapse
Good points. I'm not arguing against you, btw, I'm not even sure how to tell if my phone is using it since I'm using Omega ROM.
s14sh3r said:
Good points. I'm not arguing against you, btw, I'm not even sure how to tell if my phone is using it since I'm using Omega ROM.
Click to expand...
Click to collapse
Well, if you play any game or if you browse a lot you'd probably notice because performance drops a lot and lag increases. I don't know what Omega Rom is, this is an issue in stock rom. Of course it doesn't affect me anymore because I have the knowledge to research this stuff and eventually find a solution (even though I obviously have no idea how the solution is made), but for the average user this should be an issue, I mean everyone should know about it, it's too shady to be ignored, this is planned obsolescence at its finest.
Also, if this was introduced to save battery, how come so many people are complaining about battery drain on Kitkat?
It's obviously a marketing strategy, and I will spread the word about it.
There's a technical paper on dvfs around which goes through some of the techniques samsung uses to optimise performance and battery use. https://events.linuxfoundation.org/images/stories/pdf/lcjp2012_ham.pdf
Sent from my unknown using Tapatalk
planetf1 said:
There's a technical paper on dvfs around which goes through some of the techniques samsung uses to optimise performance and battery use. https://events.linuxfoundation.org/images/stories/pdf/lcjp2012_ham.pdf
Sent from my unknown using Tapatalk
Click to expand...
Click to collapse
I don't care and I don't have the knowledge to understand anything in that document.
What I care about is:
Galaxy S4 on 4.3 and under: great performance, no issues.
Galaxy S4 on 4.4: awful performance, issues.
Other phones on 4.4: great performance, no issues.
It's no coincidence this happened only a few months before the S5 is released.
Either Samsung did something wrong with this implementation, or they did indeed do it to force users to upgrade because the older model is no longer viable for high end smartphone use.
planetf1 said:
There's a technical paper on dvfs around which goes through some of the techniques samsung uses to optimise performance and battery use. https://events.linuxfoundation.org/images/stories/pdf/lcjp2012_ham.pdf
Sent from my unknown using Tapatalk
Click to expand...
Click to collapse
This has nothing to do with the user-space policies which you're complaining about.
Will deleting the twDVFS.apk be sufficient to disable this frequency scaling on my S4? Or is using the Xposed module necessary?
delete

Has Samsung debloating been quantified?

Has Samsung debloating been quantified or are we operating on an 'action bias'? 'I took action so it MUST be effective. I even perceive more battery life !' This happens when we buy cars, golf clubs, computers and maybe when we debloat?
Has anyone compared two identical phones with identical software and shown before and after performance numbers over a significant time-frame? If not, we may be operating on assumption and action bias. This would be an outstanding XDA study and article.
FWIW I use a non-rooted S6, Nougat, and disabled stock apps and processes I don't need via BK Disabler 3 days ago. Can't perceive any improvement in battery. Had no performance issues before debloating and perceive no improvement post-debloat.
There are many guides on XDA that advertise the wonders of debloating your device, it's not rocket science really, less apps running in the background and less apps waking up the device from sleep equals more battery life out of your device.
Since you've disabled your apps, you can take it to the next step by reading this Well-known guide on getting the most out of your battery.
Good luck

General Game Optimizing Service / "App-Performance-Limitter" on S22 Ultra?

According to some news, the so called "Game Optimizing Service" is availeable on S22 Ultra devices - which potenially controlls about 10.000 Apps of the App-Store.
Can someone confirm if it is installed / active on S22 Ultra on SD & Exynos ?
[Update: Samsung reponds] Galaxy phones appear to be throttling 10,000 Android apps, like OnePlus did
According to recent findings, Samsung is throttling thousands of common Android apps on its Galaxy devices, and without a clear reason.
9to5google.com
https://twitter.com/i/web/status/1499009797035008002
Package Disabler Pro
krogoth said:
Package Disabler Pro
Click to expand...
Click to collapse
Pay for the money greedy developer.
Here's a link to my thread, i debloat Samsung firmware including GOS (Game Optimizing Service) for the best performance and battery.
[DISCONTINUED] Samsung Galaxy One UI - Optimization Guide
THIS IS A SUGGESTED CONFIGURATION FOR SAMSUNG DEVICES OUT OF SUPPORT/CLOSED I - RECOMMENDED SETTINGS To Start With - Factory Reset before starting optimisations - Factory Reset after every Major update (One UI/Android) - Remove SIM before first...
forum.xda-developers.com
I remember that Samsung used something like this in my Note 5 and S7 Edge from Android 6 to limit game performance on purpose.
I advise you all to disable this "optimization".
Reports say that the GOS cannot be disabled the old way b'cos it's now system app since One UI 4.0?
Will it help to uninstall insted of disabling?
You can't disable it in OneUI 4.x
It's part of the Kernel now.
Maybe instead of panicking and basing decisions on headlines and mob mentality you think about the reasons why this might have been done to start with?
Most of if not all of these apps will be very poorly optimised in general but especially for the hardware in the S22 series of devices - this means that left unchecked they will use more resources than they really need to, warming up the devices causing thermal throttling to kick in and draining the battery fast (as well as possibly reducing the lifespan of certain components).
This APK keeps these things in check, but for games where you really need more performance you can use gamebooster to switch to performance mode and recovery virtually all the lost power (if not all of it) - making it your choice to sacrifice heat and battery life for performance when you need it, not all the time.
Yeah, I uninstalled it via ADB but it returns after reboot.
Yeah only thing working from the sounds of it is being rooted and using a package disabler but yeah then you lose widevine currently.
I've disabled all it's permissions including "Change system setting", maybe that helps.
Also here it's mentioned that it's possible to disable the GOS for non-game apps, still waiting for answer to how though:
https://www.reddit.com/r/samsung/comments/t56kta
Lennyuk said:
Maybe instead of panicking and basing decisions on headlines and mob mentality you think about the reasons why this might have been done to start with?
Most of if not all of these apps will be very poorly optimised in general but especially for the hardware in the S22 series of devices - this means that left unchecked they will use more resources than they really need to, warming up the devices causing thermal throttling to kick in and draining the battery fast (as well as possibly reducing the lifespan of certain components).
This APK keeps these things in check, but for games where you really need more performance you can use gamebooster to switch to performance mode and recovery virtually all the lost power (if not all of it) - making it your choice to sacrifice heat and battery life for performance when you need it, not all the time.
Click to expand...
Click to collapse
It is more or less the same discussion as we had with the oneplus 9 pro.
I am not seeing bad intend - but i dont't support the overall approach.
Most of theses apps are poorly optimized .... Even if so: That's none of the OS to take care of - especially not if you can't change / edit the overall parameters as a user on a "per App" Solution. I would love to see MS introduce something like this into windows....
Also the oem now actively could impact the performance of an App and the developer ist reliable anymore: "Well Samsung decided our app has to run like this, thanks for buying the pro version, but we can't help you". Wonderfull. And if Samsung has a bad day - maybe we are dropping the performance of some famous apps even more.... cause samsung would love to push the own alternative. Which includes some new advertising service... One could get creative with this stuff.
The reduction of lifespan is also a argument which is... at least questionable. I would argue that this is then poor product design or use of wrong or not fitting-quality components for the job. Makeing up "flaws" in Hardware by Software isn't really a solution to the overall problem
OK, so apparently this GOS thing is what the "Processing speed" option controls. It enables all apps to run at native speeds. I thought it just raised the clock speeds or something. Hmm..
@omnimax
not really. The thing is that the term - "Game Optimizing Service" is a bit missleading.
It is not about allowing named applications to run "native" or "unristricted". Named applications run with predefined ressourcess which aren't by any means "native". It's not about "raising" clockspeeds. It is about restriction of availeable ressourcces.
Lennyuk said:
Maybe instead of panicking and basing decisions on headlines and mob mentality you think about the reasons why this might have been done to start with?
Most of if not all of these apps will be very poorly optimised in general but especially for the hardware in the S22 series of devices - this means that left unchecked they will use more resources than they really need to, warming up the devices causing thermal throttling to kick in and draining the battery fast (as well as possibly reducing the lifespan of certain components).
This APK keeps these things in check, but for games where you really need more performance you can use gamebooster to switch to performance mode and recovery virtually all the lost power (if not all of it) - making it your choice to sacrifice heat and battery life for performance when you need it, not all the time.
Click to expand...
Click to collapse
Nah, this is the same situation as OP did with OP9 series, except US SD user's cant even root and remove it completely so you're stuck at their mercy. If it was configurable, not enabled by default, only affected games and didn't phone home all the time, they might get a pass.... but the way it's implemented is pretty much the definition of malware.
Can't even opt-out
Always runs, with permissions or not.
Phones home with potentially identifying information. (EU people, check out how GDPR is handled here, it's probably not)
Makes your device slow.
The road to hell is paved on good intentions and what not...
I am really amused to see so much discussion on this here on XDA and social media as well. For 98% of the folks, as long as your phone runs smooth and gives you an all day battery life, enjoy it. Many app developers are also not saints. They may leak data and bloat code etc so OEMs need to take the matter in their hands. For avid gamers, they should probably get a gaming machine and use phones only for casual gaming. With current tech limits, gaming on phones will necessitate some tweaks to optimize performance. Apple is polished because it simply stops everything else in the background and focuses ONLY on 1 task on the foreground. And iPhones also do heat up after sometime while gaming.
linom said:
I am really amused to see so much discussion on this here on XDA and social media as well. For 98% of the folks, as long as your phone runs smooth and gives you an all day battery life, enjoy it. Many app developers are also not saints. They may leak data and bloat code etc so OEMs need to take the matter in their hands. For avid gamers, they should probably get a gaming machine and use phones only for casual gaming. With current tech limits, gaming on phones will necessitate some tweaks to optimize performance. Apple is polished because it simply stops everything else in the background and focuses ONLY on 1 task on the foreground. And iPhones also do heat up after sometime while gaming.
Click to expand...
Click to collapse
It's really not the OEM's place to "take matter into their own hands". Don't push your use case on everyone else. Samsung does not know my user case, just like Apple does not know my use case, just like YOU don't know my use case. People bought this (and other, like the OP9) phone partially due to benchmark scores that should translate into performance metrics for their use case. When that's not the case, then they should be mad they got a paperweight. Check out the GOS enabled geekscore, it's basically a GS10. Why should users be happy they got a smooth UI experience when the things they actually want to do on a phone is gimped?
Your sentiment on a gaming machine... are you serious? This phone costs more than an actual mid-upper tier gaming PC. Some people like to play games on their phones, and some games are mobile only.
Again, optimizing by itself is not necessarily a bad thing. They just need to make it an opt-in experience, explain what it does clearly, let the users choose which apps to "optimize", and start letting people use their hardware like their own.
craznazn said:
It's really not the OEM's place to "take matter into their own hands". Don't push your use case on everyone else. Samsung does not know my user case, just like Apple does not know my use case, just like YOU don't know my use case. People bought this (and other, like the OP9) phone partially due to benchmark scores that should translate into performance metrics for their use case. When that's not the case, then they should be mad they got a paperweight. Check out the GOS enabled geekscore, it's basically a GS10. Why should users be happy they got a smooth UI experience when the things they actually want to do on a phone is gimped?
Your sentiment on a gaming machine... are you serious? This phone costs more than an actual mid-upper tier gaming PC. Some people like to play games on their phones, and some games are mobile only.
Again, optimizing by itself is not necessarily a bad thing. They just need to make it an opt-in experience, explain what it does clearly, let the users choose which apps to "optimize", and start letting people use their hardware like their own.
Click to expand...
Click to collapse
Yeah, maybe you're right. They need to be transparent on the optimization choices.
lokto7 said:
Reports say that the GOS cannot be disabled the old way b'cos it's now system app since One UI 4.0?
Click to expand...
Click to collapse
Cannot disable, adb fails...

Categories

Resources