Setelah memiliki tampilan yang dirancang dengan baik, yang merespons gestur dan transisi antar-status, pastikan tampilan tersebut berjalan cepat. Agar UI tidak terasa lamban atau tersendat selama pemutaran, pastikan animasi berjalan secara konsisten pada 60 frame per detik.
Mempercepat tampilan
Untuk mempercepat tampilan, hilangkan kode yang tidak perlu dari rutinitas yang sering dipanggil. Mulailah dengan onDraw(), yang akan memberi Anda manfaat terbesar. Secara khusus, hilangkan alokasi di onDraw(), karena alokasi dapat menyebabkan pembersihan sampah memori yang akan mengakibatkan operasi tersendat. Alokasikan objek selama inisialisasi atau di antara animasi. Jangan membuat alokasi saat animasi sedang berjalan.
Selain menjadikan onDraw() lebih ringkas, pastikan juga untuk memanggilnya sejarang mungkin. Sebagian besar panggilan ke onDraw() adalah hasil dari panggilan ke
invalidate(), jadi tiadakan
panggilan yang tidak perlu ke invalidate().
Operasi lain yang menguras resource adalah menjelajahi tata letak. Saat tampilan memanggil requestLayout(), sistem UI Android akan menjelajahi seluruh hierarki tampilan untuk mengetahui seberapa besar keharusan setiap tampilan. Jika menemukan ukuran yang saling bertentangan, sistem mungkin perlu menjelajahi hierarki beberapa kali. Desainer UI terkadang membuat hierarki yang dalam, yang terdiri dari serangkaian objek ViewGroup bertingkat. Hierarki tampilan yang dalam semacam ini dapat menimbulkan masalah performa, jadi jadikan hierarki tampilan Anda sedangkal mungkin.
Jika Anda menggunakan UI yang kompleks, cobalah menulis ViewGroup kustom untuk menangani tata letaknya.
Tidak seperti tampilan bawaan, tampilan kustom dapat membuat asumsi khusus aplikasi terkait ukuran dan bentuk turunannya, dan karenanya dapat meniadakan penjelajahan turunan untuk menghitung ukuran.
Misalnya, jika Anda memiliki ViewGroup kustom yang tidak menyesuaikan ukurannya sendiri agar sesuai dengan semua tampilan turunannya, Anda akan menghindari overhead pengukuran semua tampilan turunan. Pengoptimalan ini tidak mungkin dilakukan jika Anda menggunakan tata letak bawaan yang melayani berbagai kasus penggunaan.