Click-bait title: Gather, Insight, Action - How to turn around your life in three repeatable steps.
What does Taijiquan have to do with Android Performance Tuning? Everything in the world. In fact, if you can tune your Android app to its optimum performance, the exact same principles can be applied to every aspect of your life. Talk about transferable skill and efficiency!
The Performance Tuning Lifecycle consists of three repeated phases.Think of it as a path on a spiral that gets ever closer to the center, without completion, because completion is stagnation, ending, and performance tuning, just as life, is change that flows, like the taiji. You don't want it to end!
What we try to teach you with these performance and other videos, online courses, and classroom materials is best practices for Android development. But that is only the form. Just like with taiji, the form without the content is empty. And to master Android development, you need the key, the understanding that at the core, there is no difference between developing excellent, performant applications, excelling in athletics, or being a supportive parent to your children.
Gather data.
This must always be your first step. It says "data" because what you want to gather should be as objective and neutral as possible. If unbiased is not available, collect data from as many sources as possible to get a sense of where the balance might lay. Be creative and open to the unexpected. You cannot have too much diverse data. Data does not exclude emotion. You may gather data about music you listen to and your level of happiness. It's important in this step that you cast your net widely and without duality, without judgement. Do consider and record the sources of all data, so you can later assess its quality. Profile GPU Rendering gives you pretty good data about your frame rate over time; so do users that praise or complain about your app; but the first is a lot more actionable.
Analyze to gain insight.
Once you have all that information, you need to make sense of it, and if you have a lot of data, you may need to scale down and condense it into something manageable. You could sort by information sources and discard data of questionable quality, such as the five-star rating that your team-mates left for your app, but dive deeper into what a friend's friend said they read about the colors of music. Focus on the data that is the most objective and has a clear path to choices of actions. Sometimes, you can combine data that in itself doesn't lead to action, but in combination, does. For example, knowing your app uses a lot of battery indicates a potential problem, but not an approach for improvement. Combining this with data on networking, however, may lead to the insight that you could batch your requests better. Insight may come to you as a spark that grows into a fire, in a dream at night, or through long hours of sifting through information until you start to see patterns. Gaining insight, most of all, requires patience.
Take action.
Taking action is what we are all eager to do. So, take a breath. Taking the wrong action is not just a waste of time and energy, but it can actually make a situation worse. When you do take action, make sure it is the best one you can come up with, which may not be the first one! What if your app is not actually draining the battery unreasonably fast, but the battery on your testing phone needs to be replaced?
Finally, be willing to let no action on your part be an option. Sometimes, what you have is already the best compromise, and you just need to wait for the upcoming more performant release of a library you are using.
Practice developing great Android apps, tune their performance to delight your users, and scale these principles of Gather, Insight, Action. And maybe try some Taiji?