O'Reilly logo

High Performance Android Apps by Doug Sillars

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 7. Network Performance

One of the greatest aspects of the smartphone revolution is the ability to tap into a repository of all human knowledge with a small device that fits in your pocket. It allows us to resolve the important questions we may be asked (“Dad, what sound does a giraffe make?”), and it lets us play chess and other games with complete strangers from all around the world.

As demands for network throughput increase, we hear about how faster, more reliable networks will place all of this information closer to your fingertips. I am here to burst that bubble. While newer, faster networks are coming, it will take decades for existing 4G networks to become ubiquitous worldwide. In the meantime, we can focus on how apps use existing networks today, and how important network usage is in relation to your app’s performance, but also how it affects the device’s battery. As we determined in Chapter 3, the cellular, Wi-Fi, and Bluetooth radios that facilitate all of this amazing communication are also major factors in battery drain. By maximizing your app’s network performance, you can make it run significantly faster and use less battery at the same time.

In this chapter, we’ll look at the differences between the different data radios on mobile devices, the tools to profile your app’s network usage, and some simple fixes that will gain huge improvements. We’ll look at how to test your app for different network environments (as much of the world has only 2G and 3G coverage, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required