Featured Meet the Head of Google's Secret R&D Lab. Reserve Your Seat!

Close Banner
Udacity
Advanced

Approx. 4 weeks

Assumes 6hrs/wk (work at your own pace)

Built by
Join thousands of students

Start Free Course

Start Free Course
Free
You get
Instructor videos
Learn by doing exercises

Course Summary

If you’ve ever hit performance issues that affect your app’s usability, this course will teach you how to identify and diagnose your performance problems. By the end of this course, you’ll be able to perform exploratory tests, run profiling tools, use outputs to navigate to problematic code, and design a plan of attack to mitigate poor performance. You’ll also gain a higher level of understanding about how program code and the Android platform interact, which will help you optimize for performance in the future.

Why Take This Course?

Users want apps that download and run fast and efficiently. If your app performs well on low-end devices and slower internet connections, your user base, and thus your impact and potential for monetization, can increase dramatically. The ability to make conscious coding decisions that focus on the user experience is a trait that separates mediocre Android programmers from the leaders of the industry.

You may have the most exciting Android app in the world, but if it is slow and drains the battery, users will uninstall it, and leave you bad ratings because of it. Performance matters to users, so it must matter to you.

By the end of this course, you will understand how common performance problems arise from your hardware, OS, and application code. Using profiling tools to gather data, you will be able to identify and fix performance bottlenecks, so users can have that smooth 60 FPS experience that will keep them coming back for more.

Prerequisites and Requirements

To get the most from this course, you should have experience developing apps in Java on Android devices, understand the basics of the Android life cycle, and know how to perform basic operations in a terminal.

You also need access to an Android device, and working knowledge of Github, in order to follow along with the exercises.

If you’ve never developed a working Android app, check out our Developing Android Apps course before taking this one.

If you're unfamiliar with Github, check out our course on How to Use Git and Github.

See the Technology Requirements for using Udacity.

Syllabus

Lesson 0: Welcome!

An introduction to the course content and structure.

Lesson 1: Render

How to identify and diagnose the key performance problems that come with drawing to the screen.

Lesson 2: Compute and Memory

Understand how code is executed in your program, and how to handle the performance problems associated with compute and memory.

Lesson 3: Battery

How to detect and diagnose battery problems, and why it matters to your users.

Instructors & Partners

instructor photo

Colt McAnlis

Instructor

Colt McAnlis is a Developer Advocate at Google focusing on Performance and Gaming; Before that, he was a graphics programmer in the games industry working at Blizzard, Microsoft, and Petroglyph. He’s been an Adjunct Professor at SMU Guildhall, a UDACITY instructor, and a Book Author. Recently, he’s been teaching Android Devs the Zen of Performance. When he's not working with developers, Colt spends his time preparing for an invasion of giant ants from outer space.

You can follow him on G+ (+Colt McAnlis) or Twitter (@duhroach)

instructor photo

Chris Lei

Instructor

Driven by a love for transformative products, Chris charted an early career path with stints in hardware and software at IBM, Microsoft and Qualcomm. At Udacity, he's motivated to encourage others to embrace computing as a medium to realize their dreams. Chris holds a Masters in Computer Science from U.C. San Diego and a Bachelors of Science from Syracuse University. Outside of work, there’s a good chance you’ll find him surfing waves, playing music, and/or exploring new locations in search of the next incredible meal.

track icon

View more courses in
Android