[ZTE Axon 7 Guides, News, & Discussion] Menergy:
I am on B03 Oreo and have been having similar battery, restart and sometimes shutdown issues randomly since upgrading to B02 and B03, although TBH it may be simply as the phone is about 3-years old already. Sometimes the phone will turn itself off at 30% battery, sometimes at even more than that, sometimes at 20 or lower. Very rarely the automatic 15% power-saving mode will turn itself on. Also, sometimes the phone will get extremely laggy, especially when on the charger and above 70% battery, which will eventually result in automatic reboot in the end.

I have been experimenting myself trying to solve these issues and think they are predominantly software related and connected to the way Android/the phone recalibrates its battery data upon every restart. I cleared the phone cache from the recovery menu a few times and ever reinstalled B03 on the top of an already available B03 and so far (after the last cache clearing) it no longer seems to become extremely slow; I also uninstalled some apps which did not seem to have been properly configured for Oreo by their developers.

In relation to the random reboots and especially the way the phone treats its battery reserves and capacity I tried manually discharging, then charging the battery and thus recalibrating itself previously but no matter the procedure, after reboot Android creates its own databases based on the battery percentage upon the reboot itself. I.e. it doesn't matter if you calibrated it before, Android will only take into account the battery percentage right before the reboot so if it was 69% for example, it won't go to the real 100% on next charge. It will simply go to 69% showing it as full 100%. You can easily notice it by the way how fast the battery reaches its claimed 100%.

So, I tried a few "battery calibrating" apps and found that running the one I currently use once a week or after reboot recovers the factory battery capacity. To be honest, probably not the ZTE claimed one but what the app has in its own databases by phone model as designed. Even in its use instructions it says "run it once a week for best effect".

What I presume is that it corrects/amends some text file in the root Android directory going back to let's say 3100/3250 mAh total capacity setting instead of the reported capacity upon rebooting, which in a while and with charging/discharging is being changed by the OS again. This is why we get our phone turning off at 29% battery or more - it looks as if its zero-level is set too high. Try this, there are many "battery calibration" apps (mostly free) in the market. I was scared in the beginning they may corrupt the battery or cause irreversible changes but I now simply believe they change a text file (until the next reboot or a few recharging cycles). Also, clean your cache and check how apps behave.

I don't think ZTE ever baked the Oreo software versions right and left them with a lot of bugs causing different problems. I believe B02 is the most stable and coherent Oreo version. B03 is worth only for potential performance and security improvements (although I personally had thousands of issues I never had on B02) while B04 looks like a letdown.