When Android was still a baby green robot, I would go through all user-installed apps (not system apps), and turn off autostart privileges on most of them. This would make the Android device boot much faster and start with more available memory.
Then I started wondering: What if some of those apps are actually doing something important when the phone starts? Perhaps they are cleaning up their temp files, compressing databases, sorting indexes, or performing other important maintenance or initialization tasks.
Without reading the source code for each app to see what it does at boot time, I decided it was better to leave them alone and let them run on bootup.
Now, as Android devices have gotten more storage and hold more apps, I've begun to rethink that logic. I've seen Android devices with over 75 apps running at bootup.
What's the best practice now: Allow most user-installed apps to run at boot (if they are set to do so), or block most of them?
Stability of the operating system and apps is very important.