Videos

VectorDrawable for smaller APKs (Android Performance Patterns Season 6 Ep. 6)

VectorDrawable for smaller APKs (Android Performance Patterns Season 6 Ep. 6)

1 year ago
One of the interesting parts about building an Android application is all the awesome configurations of screen sizes and form factors. And if you’re a developer who prides themselves on being available on the most devices possible, then chances are you’ve got lots of your images and icons at each specific resolution you need to […]
Smaller APKs : A checklist (Android Performance Patterns Season 6 Ep. 5)

Smaller APKs : A checklist (Android Performance Patterns Season 6 Ep. 5)

1 year ago
By now, everyone knows that APK size is an important factor when it comes to user acquisition. I mean who wants to wait 30 minutes to download some massive app on a 2G connection? Or paying high data rates for that application on a metered network? Thankfully Colt McAnlis is here to help keep YOUR […]
App Launch time & Themed launch screens (Android Performance Patterns Season 6 Ep. 4)

App Launch time & Themed launch screens (Android Performance Patterns Season 6 Ep. 4)

1 year ago
Make sure you’re doing android launch screens for branding, not to hide a slow load time. In this video Colt McAnlis identifies some pitfalls with bad ways to implement launch screens, and provides a solution that everyone can use. Links: App Launch time 101 video: goo.gl/YCCRIA App Launch time & Bloated Application objects video: goo.gl/dB5IoQ […]
App Launch time & Activity creation (Android Performance Patterns Season 6 Ep. 2)

App Launch time & Activity creation (Android Performance Patterns Season 6 Ep. 2)

2 years ago
As developers, there’s nothing we like more than an amazing Activity that delights and entertains our users. But sadly initializing all the subsystems, resources, and layouts to provide that experience takes a bit of time and memory, meaning the users will have to wait for their transcendent experience. As such one of the most important […]
Profile GPU Rendering : M Update (Android Performance Patterns Season 5, Ep. 10)

Profile GPU Rendering : M Update (Android Performance Patterns Season 5, Ep. 10)

2 years ago
The “Profile GPU Rendering” tool has been updated for M release of Android! In this video +Colt McAnlis will introduce you to the new information this tool describes, alongside what to do when performance in one of these areas starts to suffer. For versions older than M, check out our other video on Profile GPU […]

The Importance of Thread Priority (Android Performance Patterns Season 5, Ep. 9)

2 years ago
Fun fact : Modern CPUs can only handle a certain number of threads at one time. Once you get above that limit, they have to start scheduling which thread gets the next open block of CPU processing time. And even better : This can influence the performance of your Android app. In this video +Colt […]

Threading and Loaders. (Android Performance Patterns Season 5, Ep. 8)

2 years ago
Let’s say you’ve got some 20 bitmaps being decoded on a worker thread. Well, what happens if your activity is destroyed before that work completes? In this video Doug Stevenson explains Loaders. A super-helpful class that can give you insight into how the activity lifecycle is changing, so that you can better understand how to […]

The Zen of IntentService. (Android Performance Patterns Season 5 ep7)

2 years ago
Dealing with Intent responses is a backbone concept to Android development. But in situations where an Intent results in long-running work, you need to find an efficient way to offload that to a different thread. In this video +Colt McAnlis discusses where IntentServices fit into the big picture of threading on Android, alongside noting some […]

Swimming in Threadpools. (Android Performance Patterns Season 5, Ep. 6)

2 years ago
We know that you’re an awesome engineer, and you’re using threading to the MAX. But over time, it gets harder and harder to handle how work is distributed across all those AsyncTasks and HandlerThreads. It gets especially tricky when you try to break up large blocks of work, like image processing, and find a threaded […]

Getting a HandlerThread. (Android Performance Patterns Season 5, Ep. 5)

2 years ago
While AsyncTask is the most useful threading class you can use, there’s some situations where it just doesn’t make sense. For example, AsyncTasks aren’t good for long-running work, or for threaded callbacks. In this video Colt McAnlis shows how HandlerThread can be used to pick up the slack. This dedicated, long-running thread resource is ideal […]

Good AsyncTask Hunting. (Android Performance Patterns Season 5, Ep. 4)

2 years ago
AsyncTask is awesome. It helps you get packets of work OFF the main thread, onto a worker thread, and then helps you get the results BACK to the main thread later. It’s almost one of the most useful tools you have when writing performant Android Apps. But as Colt McAnlis shows, AsyncTask is far from […]

Memory & Threading. (Android Performance Patterns Season 5, Ep. 3)

2 years ago
It’s no secret that threaded code and system memory don’t play well together, and on Android, this is no different. The same threading+memory problems you’d see elsewhere, exist here too… except for a few caveats. In this video +Colt McAnlis introduces some of the nuances of how memory and threading work together on android, and […]