Bir uygulamanın yavaş yanıt vermesi, kesik animasyonlar göstermesi, donması veya çok fazla güç kullanması durumunda uygulamanın performansı düşük olarak kabul edilir. Performans sorunlarının düzeltilmesi, uygulamanızın CPU, bellek, grafik, ağ veya cihaz pili gibi kaynakları verimsiz kullandığı alanların belirlenmesini içerir.
Bu sorunları bulup düzeltmek için bu konuda açıklanan profil oluşturma ve karşılaştırma araçlarını ve tekniklerini kullanın. Performansı ölçme tekniklerini ve belirli sorunları çözmek için bu tekniklerin nasıl kullanılacağına dair örnekleri öğrenmek için Performansı ölçme bölümüne bakın.
Android Studio, olası sorunları bulup görselleştirmenize yardımcı olacak çeşitli profil oluşturma araçları sunar:
- CPU profil aracı, çalışma zamanı performans sorunlarını izlemenize yardımcı olur.
- Bellek profil aracı, bellek ayırmalarının izlenmesine yardımcı olur.
- Enerji profil aracı, enerji kullanımını takip ederek pilin çabuk bitmesine neden olabilir.
Bu araçlar Android 5.0 (API düzeyi 21) ve sonraki sürümlerle uyumludur. Araçlar hakkında daha fazla bilgi için kullanıcı rehberinin bu bölümündeki diğer sayfalara bakın.
Jetpack Karşılaştırma kitaplıkları, uygulamanızın çeşitli önemli işlemleri ölçmesine olanak tanır:
- Makrobenchmark: Kullanıcı arayüzü animasyonları veya kaydırma gibi işlemlerle tetiklenen uygulama başlatma ve yeniden çizim gibi önemli performans kullanım alanlarını ölçün.
- Mikro karşılaştırma: Belirli işlevlerin CPU maliyetini ölçün.
Bu kitaplıklar hakkında daha fazla bilgi edinmek için Uygulamanızı karşılaştırma sayfasına bakın.
Profil yapılabilir uygulamalar
Profileable
, Android Q'da kullanıma sunulan bir manifest yapılandırmasıdır. Cihaz kullanıcısının Android Studio, Simpleperf ve Perfetto gibi araçlarla bu uygulamanın profilini oluşturup oluşturamayacağını belirtir.
profileable
tarihinden önce çoğu geliştirici, Android'de yalnızca hata ayıklaması yapılabilir uygulamaların profilini çıkarabiliyordu. Bu da önemli bir yan etki olarak önemli performans maliyetleri ekliyordu. Bu performans maliyetleri, özellikle zamanlamayla ilgili olduklarında profil oluşturma sonuçlarını geçersiz kılabilir. Tablo 1'de, hata ayıklaması yapılabilecek ve profillenebilir uygulamalar arasındaki farklar özetlenmiştir.
Öne Çıkarın | Hata Ayıklanabilir | Profil yapılabilir |
---|---|---|
Bellek Profil Aracı | Tam |
Evet. Hayır:
|
CPU Profil Aracı | Tam |
Evet.
Hayır:
|
Ağ Profil Aracı | Evet | Hayır |
Enerji Profil Aracı | Evet | Hayır |
Güç Profil Aracı | Evet | Evet |
Etkinlik İzleyici | Evet | Hayır |
Profileable
kullanıma sunuldu. Bu sayede geliştiriciler, uygulamalarının profil oluşturma araçlarıyla ilgili bilgileri açığa çıkarmasına izin verebilir ve bu işlem için çok düşük performans maliyetleri alır. Profil yapılabilir APK, temelde manifest dosyasının <application>
bölümüne eklenmiş bir <profileable android:shell="true"/>
satırı içeren sürüm APK'sıdır.
Profil yapılabilir bir uygulamayı otomatik olarak derleyip çalıştırın
Tek tıklamayla profillenebilir bir uygulamayı yapılandırabilir, derleyebilir ve çalıştırabilirsiniz. Bu özellik, API düzeyi 29 veya üstünü çalıştıran ve Google Play'e sahip bir sanal ya da fiziksel test cihazı gerektirir. Bu özelliği kullanmak için Profil uygulaması simgesinin yanındaki oku tıklayın ve iki seçenekten birini belirleyin:
Düşük ek yüke sahip "uygulama" profili, CPU ve Bellek profil araçlarını başlatır. Bellek profili oluşturucuda yalnızca Yerel Ayırmaları Kaydet seçeneği etkindir.
Tüm verilere sahip "uygulama" profili; CPU, Bellek ve Enerji profil araçlarını başlatır.
Profil yapılabilir uygulamaları manuel olarak derleme ve çalıştırma
Profil yapılabilir uygulamayı manuel olarak oluşturmak için önce bir sürüm uygulaması oluşturmanız, sonra da bu uygulamanın manifest dosyasını güncellemeniz gerekir. Bu işlem, sürüm uygulamasını profillenebilir bir uygulamaya dönüştürür. Profil yapılabilir uygulamayı yapılandırdıktan sonra profil oluşturucuyu başlatın ve analiz etmek için profillenebilir bir işlem seçin.
Yayınlama uygulaması oluşturma
Profil çıkarma amacıyla bir sürüm uygulaması derlemek için aşağıdakileri yapın:
-
Aşağıdaki satırları uygulamanızın
build.gradle
dosyasına ekleyerek hata ayıklama anahtarıyla uygulamanızı imzalayın. Zaten çalışan bir sürüm derleme varyantınız varsa sonraki adıma atlayabilirsiniz.buildTypes { release { signingConfig signingConfigs.debug } }
-
Android Studio'da, Derleme > Derleme Varyantı Seç... seçeneğini belirleyin ve sürüm varyantını seçin.
Sürümü profillenebilir olarak değiştir
-
AndroidManifest.xml
dosyasını açıp aşağıdaki kodu<application>
içine ekleyerek yukarıdaki sürüm uygulamanızı profillenebilir bir uygulamaya dönüştürün. Daha fazla bilgiyi Sürüm için uygulamanızı oluşturma bölümünde bulabilirsiniz.<profileable android:shell="true"/>
-
SDK sürümüne bağlı olarak aşağıdaki satırları uygulamanın
build.gradle
dosyasına eklemeniz gerekebilir.aaptOptions { additionalParameters =["--warn-manifest-validation"] }
Profil yapılabilir bir uygulama için profil oluşturma
Profil oluşturabilir bir uygulamanın profilini oluşturmak için aşağıdakileri yapın:
-
Geliştirme emülatöründe veya cihazından uygulamayı başlatın.
-
Android Studio'da Görünüm > Araç Pencereleri > Profiler'ı seçerek profil oluşturucuyu başlatın.
-
Uygulama başlatıldıktan sonra açılır menüyü görmek için profil oluşturucudaki düğmesini tıklayın. Cihazınızı seçin, ardından Diğer profillenebilir işlemler altında uygulama girişini seçin.
-
Profil düzenleyici, uygulamaya eklenmelidir. Bellek Profil Aracı için sınırlı kapasiteyle yalnızca CPU ve Bellek Profilleyicileri kullanılabilir.
Oturumlar
Profiler verilerini oturumlar olarak kaydedebilirsiniz. Bu oturumlar siz Android Studio'dan çıkana kadar korunur. Birden çok oturumda profil oluşturma bilgilerini kaydedip bunlar arasında geçiş yaparak çeşitli senaryolardaki kaynak kullanımını karşılaştırabilirsiniz.
- Yeni bir oturum başlatmak için Yeni profil oluşturma oturumu başlat düğmesini tıklayın ve görüntülenen açılır menüden bir uygulama işlemi seçin.
- Bir iz kaydettiğinizde veya bir yığın dökümü yakaladığınızda Android Studio bu verileri (uygulamanızın ağ etkinliğiyle birlikte) geçerli oturuma ayrı bir giriş olarak ekler.
- Geçerli oturuma veri eklemeyi durdurmak için Geçerli profil oluşturma oturumunu durdur'u tıklayın.
- Önceki bir Android Studio çalıştırmasından dışa aktarılan bir izlemeyi içe aktarmak için Yeni profil oluşturucu oturumu başlat'ı tıklayın ve Dosyadan yükle'yi seçin.
Daha eski cihazlar için ek destek etkinleştir (API düzeyi < 26)
Android 7.1 veya önceki sürümleri çalıştıran bir cihazı çalıştırırken size ek profil oluşturma verileri göstermek için Android Studio'nun derlenen uygulamanıza izleme mantığı eklemesi gerekir. Bu ek profil oluşturma verileri şunları içerir:
- Tüm profil aracı pencerelerinde etkinlik zaman çizelgesi
- Bellek Profil Aracı'nda ayrılan nesnelerin sayısı
- Memory Profiler'da atık toplama etkinlikleri
- Network Profiler'da iletilen tüm dosyalarla ilgili ayrıntılar
Eski cihazlara yönelik ek desteği etkinleştirmek için aşağıdaki adımları uygulayın:
- Çalıştır > Yapılandırmaları Düzenle'yi seçin.
- Sol bölmede uygulama modülünüzü seçin.
- Profil oluşturma sekmesini tıklayıp Daha eski cihazlar için ek destek etkinleştir (API düzeyi < 26) seçeneğini işaretleyin.
- Uygulamanızı derleyip tekrar çalıştırın.
Eski cihazlar için ek desteğin etkinleştirilmesi, derleme işlemini yavaşlatır. Bu nedenle, yalnızca uygulamanızın profilini oluşturmaya başlamak istediğinizde etkinleştirmeniz gerekir.
Bağımsız profil araçları çalıştırın
Bağımsız Android Studio Profilers, tam Android Studio IDE'yi çalıştırmadan uygulamanızın profilini çıkarmanıza olanak tanır.
Bağımsız profil oluşturucuları çalıştırmak için aşağıdakileri yapın:
- Profil oluşturucunun şu anda Android Studio'da çalışmadığından emin olun.
Yükleme dizinine ve
bin
dizinine gidin:Windows/Linux:
studio-installation-folder/bin
macOS: Bağımsız profil oluşturucunun kullanımı macOS'te desteklenmez.
- İşletim sisteminize bağlı olarak
profiler.exe
veyaprofiler.sh
'yi çalıştırın. Android Studio başlangıç ekranı görünür. Başlangıç ekranı kaybolduktan sonra bir profil aracı penceresi açılır.