Performansla ilgili en büyük sorun, uygulamayı kullanıcıya açıp, kullanmaya başladıktan sonra alınan feedback’lerle fark edilmesidir. Lint, static bir code analiz tool’u olarak, olası problemler hakkında bilgi sahibi olmamızı sağlar. Kodumuzu check edip, correctness, usability, security, accessibility, performance ve internationalization hakkında bilgi verir.
Mesela, onDraw içerisinde obje allocate edersek, ki bu memory churn olmuş olur, satır numarasıyla beraber uyarır.
Lint Android Studio’ya default olarak ekli bir tooldur.
Release build’inde tüm code’u check ettiği gibi, eğer daha düzenli olarak lint’den feedback almak istiyorsak da gradle dosyasına ekleyip, tüm random build’lerde çıktıyı görebiliriz. Ya da Android Studio’dan manuel olarak başlatabiliriz. Tabi Lint’in gösterdikleri sadece öneri. Sonuçları inceleyip duruma karar vermekte fayda var.
Android Studio->Preferences’ı izleyip, Lint’i arattığımızda, aşağıdaki ekran çıkacak. Buradan Lint çalıştığında neleri kontrol etmesini istediğimizi editleyebiliriz. Mesela aşağıdaki örnekte Project Default seçeneğinde neleri kontrol edeceğini belirlemiş oluyoruz.
Sonrasında ise aşağıdaki ekran çıkacak. Burada hangi profille analiz edeceğimizi ve tüm projeyi mi yoksa belli bir modülü mü analiz etmek istediğimizi soracak.
Az önce düzenlediğimiz Project Default profile’ıyla code’u check edebiliriz. Sonuç aşağıdaki gibi olacak. Herbir başlığın altında ise detaylı analizi var. Yanlış API kullanımı, olası performance problemleri herşeyi burada görebiliyor oluyoruz.
lintOptions { abortOnError false }
Referanslar:
- http://developer.android.com/tools/debugging/improving-w-lint.html
- http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.LintOptions.html#com.android.build.gradle.internal.dsl.LintOptions
- http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Lint-support
- https://www.youtube.com/watch?v=Z_huaXCsYyw&index=36&list=PLOU2XLYxmsIKEOXh5TwZEv89aofHzNCiu
Leave a Reply