Making the Android UI Fast and Efficient by Romain Guy

UserGroupsatGoogle · 56K views · 2009 · 1:29:08

Open on YouTube

Software performance & optimizationSoftware practice, open source & careerstalkdated

Why Stack Overflow recommends it

Stack Overflow users link it when answering or asking about Android UI performance, such as recycling ListView rows, redundant window background drawing, and rendering behaviour.

Recommended by 1 people across 1 different months, 2011 to 2014.

What it is

A recording of Romain Guy, an Android framework engineer at Google, re-delivering his Google I/O 2009 talk on making Android user interfaces fast and efficient. It was given at the San Francisco Android User Group kickoff in July 2009 and includes audience Q&A. Topics include view reuse in lists, overdraw, and how the UI toolkit draws.

What people said

Strong rec Michell Bak · 2011-10 · Stack Overflow · on “Performance issue with ListView and CursorAdapter for large amount of data”

Yes, exactly. Simply reuse the views you've already created and populate them with only the data for the current list view position. Android engineer Romain Guy has an excellent video on it. It starts at around 12 minutes: [this video]

Cites Raigex · 2013-07 · Stack Overflow · on “Button got stuck”

The only time that the button resumes from a pressed state is when all the code on the listener is run. You are most likely doing calculation intensive work in the button (in the main thread). If this is so if you click anywhere else in the application you should see an ANR (application not responding) message that closes the application. Another reason would be that you switch the state manually and forget to cancel it on your on touch listener (if you have one) [this video]

Cites Dude · 2014-05 · Stack Overflow · on “Android remove window background when it's not shown?”

I was watching Romain Guy's video(23:27) [this video] about how to make android's UI fast and efficient and I discovered that the window background is always redrawn, even if it can't be seen. However, as it's an old video, I'd like to know if this problem has been addressed or not? Is it a good practice to always set a nobackground theme to activities that don't need it?

Cites suitianshi · 2014-07 · Stack Overflow · on “Canvas in android 2.3 isn't using GPU?”

From android developer site [LINK] : Beginning in Android 3.0 (API level 11), the Android 2D rendering pipeline supports hardware acceleration, meaning that all drawing operations that are performed on a View's canvas use the GPU. but I found that in ViewRoot source code [LINK] , there's a lot of stuff to do with EGL. Additionaly, I watched an android video [this video] made by RomainGuy and he said that no matter you use Canvas or OpenGL commands, eventually you're rendering on top of a opengl layer. so my question is , why in 2.3 the drawing operations of canvas is not hardware accelerated? Or am i missing/misunderstanding something?