Flagship Android smartphones are not what most Android users all over the world use. Most of them own devices that have limited amounts of RAM, outdated processors, faulty storage, and poor network connectivity. When developing software under such constraints, optimization does not really apply, it is all about having engineering discipline. Those who create performance budgets, reduce the dependency on network, optimize memory consumption, design for interruptions, and test on actual hardware s...