Hello all,

I've been using GOS on my P7a for a couple of months now, and after about 3 weeks, it started having abnormally high CPU usage (as reported by Accubattery's CPU overlay). This is coupled with apps on my device sometimes being killed immediately after switching (but most of the time being killed after 10-30s), and the phone being somewhat unresponsive at times, especially when switching apps / cold launching apps. I've had the phone for about 2 years, stock android from then until a couple of months ago. I didn't experience any of these problems on stock (but I'm still sticking with GOS because of the privacy nightmare that google is).

Initially, I thought it was a problem with restricted battery use, but this wasn't the case. Even after unrestricting, apps still died at the same rate. The things that seemed to help were turning off dev options, and turning on exploit protection compatibility mode. If I turn dev options off, obviously my bluetooth headphones won't work (bluetooth a2dp in dev options), and EPCM only helped marginally.

On top of that, if I turn off dev options, my phone will feel so much slower because of animation scaling!😢

Lastly, some app called adbd keeps crashing? About 5x a week. The log looks pretty identical to this.

I dunno, should I just reinstall GOS? Did I do something to bork it?

    frostcrackle Is it possible that you have ever modified the system using adb?

    frostcrackle Turning off dev options actually doesn't seem to fix it :(

    Did you reboot the device after turning it off?

    frostcrackle If I turn dev options off, obviously my bluetooth headphones won't work (bluetooth a2dp in dev options)

    It's not obvious from this why your headphones won't work without developer options. Your Pixel supports A2DP. Which setting in developer options do you think is necessary for your headphones to work, and why do you think it needs that?

    frostcrackle On top of that, if I turn off dev options, my phone will feel so much slower because of animation scaling!😢

    You can disable animations by going to Settings > Accessibility > Color and motion > Remove animations: ON

    There's almost never a need for developer options to be enabled... unless you are a developer!

      fid02

      Is it possible that you have ever modified the system using adb?

      I haven't modified the system with adb.

      Did you reboot the device after turning it off?

      I didn't restart my phone, but after reading this post, I did, and my apps are still dying with dev options off.

      It's not obvious from this why your headphones won't work without developer options. Your Pixel supports A2DP. Which setting in developer options do you think is necessary for your headphones to work, and why do you think it needs that?

      So, when I first started using GOS, my bluetooth headphones didn't work. They would connect, but had no audio. I looked around, and found a reddit post telling me to turn bluetooth a2dp offload on. I did, and it worked. Yesterday, my headphones worked for the first time without a2dp offload, so thank you for telling me it should work!

      You can disable animations by going to Settings > Accessibility > Color and motion > Remove animations: ON

      There's almost never a need for developer options to be enabled... unless you are a developer!

      I don't like when the animations are too slow, or too fast. Having them be instant in this case is too fast. Just feels jarring.

      3 months later

      My experience with GrapheneOS on several phones (as well as many friends of mine running it) is that both performance and battery life is noticably better with GrapheneOS. So there must be something going on with the state of your phone.

      It could be a combination of several things.

      Apps:

      One factor could be that you just have a bunch of apps installed. Especially apps from Play Store will commonly have a lot of trackers. It's comparable to browser trackers (which are watching and analysing your activity, logging it and sending this to a remote server).

      Replacing these apps with alternatives from a repository like F-Droid or IzzyOnDroid (a repository with more apps and quicker updates, created by an F-Droid developer). I recommend Neo Store (or Droid-ify) as your F-Droid client as you can toggle many additional repositories from the app instead of having to search it up and copy links and follow instructions. Neo Store (or Droid-ify) also have additional features that are quite useful.

      If you have a lot of apps installed, this will definitely affect both performance (and thus battery drain). You might not be aware of background services or tasks.

      Check resource usage:

      • Go to Settings --> Battery --> Battery usage. Anything sticking out?

      • Check Running Services in Developer options.

      • Also, go to the 3-dotted menu at the top right, toggle "Show cached processes". These apps are just kept in cache and doesn't necessarily do anything. Remember, in most cases it's better to keep apps in memory rather than killing them (as it requires more energy to start them up again rather than just keeping them in memory). If you are running out of memory, then it's a different matter. But then I'd instead consider uninstalling or changing out apps to better ones.

      • Setting apps to "unrestricted" is unlikely to affect battery usage if the app is written properly. I set unrestricted to all apps I want to work reliably and that I'm regularly using or depending on for its notifications.

      Other stuff:

      • Old systems will become filled up with logs and caches. I don't see this as something that will likely cause a system to behave like you're describing, but it could be a factor among others that affect the total outcome.

      • Have you installed any app that claims that it speeds up the system or free up resources or anything similar? If so, uninstall them. Those apps are making the system spend more resources than it should and making the problem worse or just outright causing new problems.

      • Do you have animated wallpaper engine installed? A custom launcher? Theming? A lot of overlays?

      • What hardware are you running?

      • Which GrapheneOS version? Stable release? Not beta or alpha?

      • Did you transfer or import settings or apps from another phone?

      • Do you use multiple users?

      • Are you actually running out of memory? Do you mind uploading screenshots of AccuBattery message and performance-related info, as well as background apps and services and other related things mentioned here. The more the better. Even a list of your apps or at least a number of how many and how many of those are running in the background and are cached.
        It's easier to help if we know more. Of course, only upload things that you are comfortable with and avoid uploading anything that can be identifiable like usernames, e-mail or apps that are otherwise of sensitive or personal nature (medical-related, dating, membership stuff or even banking apps if you want to be super incognito). You can censor details or apps with e.g. Fossify Gallery (the editing tools are alright enough).

      In case you want to wipe the system and start from a clean slate:

      I can recommend some nice apps and tools to make backup and later importing easier. I can also recommend good app replacements that I and others I know have good experience with. :)

      Developer options, performance and battery life:

      I highly doubt simply having the menu enabled and exposed have any effect on either performance or battery life. Some might speculate it could enable other features that would be useful for developers, such as logging or debugging. However, developers are interested in testing actual real-world experience and it's just unintuitive and strange if it did some additional stuff in the background that the developer was not told, this could scew testing results.

      However, there are certain options within Developer options that can affect performance and battery life. The majority of these options that affect these aspects are pretty obvious for most people.

      So don't worry about Developer options. And don't worry about not being a developer, I won't call the Android settings police if you don't. ;) :D

      Animations:

      fid02's advice about using Settings > Accessibility > Color and motion > Remove animations: ON instead of Developer options' animation settings is a good. Though, it's seemingly just a shortcut for toggling the three animation-related Developer options "off".
      If you toggle either setting (either in Accessibility menus or in Developer options) both settings reflect the same state.

      "Disable Bluetooth A2DP hardware offload":

      This setting, if enabled, disables decoding and processing in the Bluetooth device. So by having this setting off (as is default) you ask the Bluetooth device to do audio decoding and processing. For old devices, this may be problematic. There might be other ways to fix your issues either on the device side or other Bluetooth settings in Developer Options (or in the regular Bluetooth settings). It depends on the device and the issue you are facing.

      By enabling this setting (which disables A2DP hardware offload) you ask the phone to do this instead and this will likely cause increased battery usage, but it's not enough to tank performance! It's a very trivial task for the phone's hardware to take care of.


      Hope this helps. :)


      fid02 There's almost never a need for developer options to be enabled... unless you are a developer!

      I respectfully beg to differ, as a non-developer. One of the first things I enable on a phone is "Show taps". It's a great indication of touch input in general, but especially in case you crack the screen. Because then you can see which part(s) of the screen is working and how it interprets your touch inputs (if it sounds useless; trust me, it is not. I've been able to operate cracked phones this way, e.g. by strategically rotating the screen to use the part where it's working. Also, when the screen is wet, you can see whether drops of water or damp affect touch input by being aware of what the "screen sees as touch input". Sometimes it also doesn't register touch inputs properly and you'll similarly be able to know why.
      Not having "Show Taps" enabled is simply a no-go for me, even if was the only Developer option I used.

      Before animations could be disabled in the accessibility option in the regular settings, the Developer option's animations options were the first thing I did on a new phone. Seeing as there's a "non-dev" setting for it now, it makes sense to use that instead. Like I said, it's very likely just a shortcut for the Developer options that bypasses the need of enabling and accessing Developer options.

      But in addition to "Show taps", I also like "Enable Wi-Fi Verbose logging", "Always show crash dialog" and "Show background ANRs". Some potentially interesting and potentially useful ones are "Force activities to be resizable", "Enable freeform windows" and "Enable non-resizable in multi window".

      Here's a continued list of options I find useful:

      • "Bluetooth AVRCP Version" and/or "Bluetooth MAP Version" have helped me in the past.
      • "Disable absolute volume" has helped me in the past.
      • "Bluetooth Audio LDAC Codec" also has its use (although I'm not quite sure if the setting is respected all the time).
      • "Show Bluetooth devices without names" have been useful in the past (find a specific device by MAC among several identical device models).
      • "Wi-Fi scan throttling" is useful when mapping Wi-Fi network signal strength and channels, such apps need this to be off.
      • "USB debugging", "Wireless debugging" and "disable adb authorization timeout" also have their uses.
      • "Quick settins developer tiles" and e.g. "Wireless debugging" tile enabled can definitely be useful.
      • "Running services" and "Standby apps" have their uses.
      • "Enable Bluetooth HCI snoop log" is useful for checking e.g. supported bitrates and codecs for BT devices.
      • "Select mock location app" has its use.

      I'm not a developer, but the Developer options are super nice and handy even for regular people. Just because it says "Developer options" doesn't mean it's just for developers. I think we all know the reasoning behind naming it that way.

      I appreciate the reply, but I gave up on this. I chalked it up to my phone. There was a massive deal on P9s (around 40% off), so I got one and have had the app killing issue maybe 90-95% less often.

      ADBD still crashes sometimes, but it doesn't really seem to affect anything, so I'm not worrying too much about it.

      Thanks!