Recently, my phone (A non-rooted Note 4) has begun to exhibit widespread performance problems. All apps and interactions are affected: the UI pauses frequently and even lightweight soft keyboards (like Samsung's and Google's) struggle to accept my inputs, which are often delayed by 2-3 seconds.
There's clearly something wrong. I'm not trying to fix this so much as I'm looking for a way to get insight into what it might be.
Before you flag as a duplicate -- after all, this question HAS been asked before -- please note that I'm not looking for the kinds of non-answers that have plagued similar questions, such as:
- Suggestions as to what might be wrong without guidance on how to validate or eliminate the theory. I know what might be wrong but I need to find a way to measure and understand what is actually wrong.
- Tips and tricks for improving performance in general. Yes, I could uninstall stuff, free up space, hard reset, or take any number of other measures that will speed things up incrementally or drastically. But a spray-n-pray approach misses the point: this question seeks a rational approach for understanding what the right measure to take would be.
- Pointers to task-killing, cleaning, or other meddlesome "management" type apps. This is a clumsy and naive approach that represents a band-aid to the problem at best.
Diagnostic app suggestions are certainly welcome if they provide meaningful insight into resource usage, performance metrics, or other information that can be applied toward a larger diagnostic process. But this question's goal is that process, or substantial components of it.
As an example, two components of this process would certainly be:
The Application Manager in Android settings has a running process list. This list would show if a single process running in the background was taking up a large amount of memory.
The 'logcat' command in ADB can be used to retrieve (massive) system logs, which may show error, warning, or info messages that expose processes or services that are thrashing and reducing CPU availability and degrading UI responsiveness.
Beyond that, what else needs to be in one's toolbox in order to tackle this problem?