Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

First of all, the phone does tell you which process is responsible for burning energy. It’s not necessarily the best but it’s there. If the phone is getting too hot to hold though, it’s not a software bug of something pinning the CPU. The OS should be thermal throttling well before that happens, and I’ve seen that happen on hot days (the phone goes from thermal throttling the CPU to a perma “this phone is too hot” blocked state until it’s cool enough). This sounds like the issue has to do with the new titanium casting that transfers heat differently and maybe isn’t tuned properly for their throttling? Not sure.


Yes I agree. A phone should never be allowed to get unpleasant to touch. Maybe apple went to generous with their temp limit, or their sensor has too much play between devices.

But also some programs shouldn't be allowed to go full blast when they are stuck in a self inflicted loop while waiting for something (instead of doing actual compute). And that is what I meant with activity monitor. If such behavior from popular software was more obvious, CPU waster could be helt accountable. Maybe you may even delegate a program to only use a single core or only e-cores. But instead, I guess, we have to settle with a thermal limit of 30°C so we won't even notice if an open app eats through our battery in the background.


> But also some programs shouldn't be allowed to go full blast when they are stuck in a self inflicted loop while waiting for something (instead of doing actual compute). And that is what I meant with activity monitor. If such behavior from popular software was more obvious, CPU waster could be helt accountable.

Have you solved the halting problem? Because that’s the only way generally to distinguish “actual” compute from stuck without forward progress. There are heuristic approaches obviously and it might be neat for Apple to try that out, but that means killing services randomly even though they may be behaving well. They do this for memory internally where you indicate expected ranges (eg when inactive it’s X and when I take out an “active” token it’s Y). Could try this for CPU consumption.

Generally though, iOS is carefully designed to not let anything run in the background except for OS services. The latter you can’t kill and former means that going to the homescreen is generally sufficient to kill whatever was misbehaving (microphone, navigation, and music let you run backgrounded but the former 2 have UI indicating this and the latter is usually audible and if any other app starts playing you stop so it’s not reliable)..


The OS does limit the resources of background tasks.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: