Performans testi için ortamınızı ayarlama
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Kısa bir süreliğine cihaz etkinliğini kaydedip uygulamanızın başlangıç döneminin izlerini toplayarak olası performans sorunlarını belirleyebilir ve genel uygulama performansını artırabilirsiniz. Bu sayfada, performans testi için ortamınızı nasıl ayarlayacağınız gösterilmektedir.
Makrobenchmark kitaplığını kullanın
Makrobenchmark kitaplığı başlatma, kullanıcı arayüzü ile etkileşim ve animasyonlar gibi daha büyük son kullanıcı etkileşimlerini ölçer. Kitaplık, test ettiğiniz performans ortamı üzerinde doğrudan kontrol sağlar. Bu özellik sayesinde uygulamanızın derleme, başlatma ve durdurma işlemlerini kontrol ederek hassas uygulama başlatma süresini doğrudan ölçebilirsiniz. Ayrıca test çalıştırmaları arasındaki gürültüyü ve farklılıkları da en aza indirmeye yardımcı olur.
Potansiyel performans sorunlarını belirlemek için orta düzey cihazlar kullanın
Performansı, sizin için önemli olan her cihaz türünde test edin. Hızlı bileşenlere sahip ileri teknoloji cihazlar daha erken, daha yavaş veya düşük RAM'e sahip cihazlardaki performans sorunlarını gizleyebilir.
Daha alt kalitedeki cihazlarda veri yüklemesi veya kod çalıştırması daha uzun sürebilir. Bu sayede performans sorunlarını daha kolay tespit edebilirsiniz. Düşük teknolojili cihazlar için performansı optimize etmek, genellikle ileri teknoloji cihazlar için optimizasyon açısından da yararlıdır.
Gürültüyü azalt
- Ağ: Uygulamalarınızı veya işlemlerinizi güçlü ve sabit internet kablosuz bağlantı hızlarında test edin. Uygulama başlatma süresi bir ağ isteği içeriyorsa bunu değişkenliğin ortaya çıkabileceği bir yer olarak unutmayın.
- RAM kullanımı: Uygulama başlatma performansını test ederken cihazınızın arka planında çalışan başka uygulama yoktur.
- Pil: Donanıma özgü düşük güç performans kısıtlanmasından kaçınmak için cihazınızın şarj edilmiş olduğundan emin olun.
Sürüm derlemeleri üzerinde test etme
Performansı test etmek için sürüm derlemelerini kullanın. Hata ayıklama derlemeleri, derleme optimizasyonu sağlamadığı ve performansı önemli ölçüde etkilediği için performans hata ayıklamaya uygun değildir.
Bununla birlikte, sınıfları ve işlem adlarını tanımlamak için kod karartma uygulanmamış bir sürüm derlemesi kullanabilirsiniz. Özellikle, ProGuard dosyasında -dontobfuscate
ile küçült (R8) özelliğini etkinleştirmenizi ve kod karartmayı devre dışı bırakmanızı öneririz.
Derleme kod karartılmamışsa düzenleri, öğeleri ve kaynakları tanımlamak daha kolay olur.
Özel etkinliklerinizin,
hata ayıklaması mümkün olmayan derlemelerde görünür olması için manifest dosyasına profillenebilir işaretini eklediğinizden emin olun. Bu işaret, Android 10 (API düzeyi 29) ve sonraki sürümlerde kullanılabilir.
Uygulama işlemlerinize özel izler ekleme
Diğer kitaplıklara kıyasla uygulamanızın hangi işlemleri gerçekleştirdiğini daha kolay tanımlamak için uygulamanıza özel izler ekleyin. Bu, uygulamanın her zaman ne yaptığı hakkında daha fazla bilgi
sağlamanıza yardımcı olur.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Set up your environment for performance testing\n\nYou can identify potential bottlenecks and improve overall app performance by\nrecording device activity over a short period of time and [collecting traces of\nyour app's startup period](/topic/performance/tracing). This page shows how to\nset up your environment for performance testing.\n\nUse the Macrobenchmark library\n------------------------------\n\nThe [Macrobenchmark\nlibrary](/topic/performance/benchmarking/macrobenchmark-overview) measures\nlarger end-user interactions, such as startup, interacting with the UI, and\nanimations. The library provides direct control over the performance environment\nyou're testing. It lets you control compiling, starting, and stopping your app\nto directly measure precise app startup time. It also works to minimize the\nnoise and differences between test runs.\n\nUse mid-range devices to identify potential performance issues\n--------------------------------------------------------------\n\nTest performance on each device type you care about. High-end devices with fast\ncomponents can hide performance problems on earlier, slower, or low RAM devices.\nLower-end devices can take longer to load data or run code, making it easier to\nidentify bottlenecks. Optimizing performance for low-end devices usually also\nbenefits optimization for high-end devices.\n\nReduce noise\n------------\n\n- Network: test your apps or processes with strong and stable internet Wi-Fi speeds. If the app startup time includes a network request, note this as a place where variability might occur.\n- RAM usage: don't have any other apps running in the background of your device while testing app startup performance.\n- Battery: ensure your device is charged to avoid any hardware-specific low power performance throttling.\n\nTest on release builds\n----------------------\n\nUse release builds to test performance. Debug builds are [unsuitable for\nperformance\ndebugging](/studio/profile/measuring-performance#apk-considerations), as they\ndon't provide compilation optimization and significantly impact performance.\n\nHowever, it's okay to use an unobfuscated release build to identify classes and\noperation names. Specifically, we recommend enabling [minify\n(R8)](/studio/build/shrink-code) and disabling obfuscation, with\n[`-dontobfuscate`](/studio/build/shrink-code#obfuscate) in the proguard file.\nIt's easier to identify layouts, assets, and resources if the build is\nunobfuscated.\n\nMake sure you include the\n[profileable](/guide/topics/manifest/profileable-element) flag in the manifest\nso that your custom events are visible in non-debuggable builds. This flag is\navailable on Android 10 (API level 29) and later.\n\nAdd custom traces to your app operations\n----------------------------------------\n\nAdd [custom traces](/topic/performance/tracing/custom-events) within your app to\nmake it easier to identify what operations are performed by your app compared to\nother libraries. This helps give you more context about what the app is doing at\nall times."]]