how fix memory leak android apps using ddms tool
Android Uygulamaları İçin Bellek Sızıntısı Nasıl Test Edilir ve Düzeltilir:
Bellek optimizasyonu, bir uygulamayı oyun mağazasına göndermeden önce herhangi bir geliştirici için daha büyük bir zorluktur.
yazılım testindeki hata türleri
Bir uygulamanın performansı, işlevselliği kadar aynı derecede önemlidir. Bu makale, Yığın analizi DDMS (Dalvik Hata Ayıklama İzleme Hizmeti) aracılığıyla bir uygulamanın.
Android uygulamalarının çoğu JAVA üzerinde çalışıyor ve iş parçacığı sorunları da var.
Önemli Not - Dalvik Hata Ayıklama İzleme Sunucusu (DDMS) aracı yalnızca Android Studio 3.0 ve daha düşük sürümlerde mevcuttur. Studio 3.0 ve üstünü kullanıyorsanız uygulamanızın CPU, bellek ve ağ kullanımının profilini çıkarmak için Android Profiler'ı kullandığınızdan emin olun.
Bu eğitim, DDMS aracını kullanarak bir android uygulaması için bellek sızıntısını anlamanıza ve optimize etmenize yardımcı olacaktır. Belleğin analiz edilmesi, bellek hakkında bir fikir verecektir ve bellek değerlerini optimize etmek, böylece daha az bellek sızıntısı ile sonuçlanacaktır.
Ne öğreneceksin:
- Yaygın olarak kullanılan terimler
- DDMS (Dalvik Hata Ayıklama İzleme Sunucusu)
- ADT Üzerinden DDMS'yi Başlatma Adımları
- Android Studio aracılığıyla DDMS'yi Başlatma Adımları
- Sonuç
- Önerilen Kaynaklar
Yaygın olarak kullanılan terimler
Aşağıda, bu projede kullanacağımız genel terimlerden bazıları listelenmiştir:
- Yığın - Tahsis için kullanılabilen ve dinamik olarak dağıtılan Runtime belleğidir. Platforma bağlıdır.
- Dalvik yığın - Dalvik heap, zigot ile sınıfların ve verilerin bir kombinasyonudur.
- Zigot - Zygote, sistem yüklendiğinde uygulama işlemlerinin başlatılmasına yardımcı olur.
- PSS - Bir işlem için hafızadaki sayfa sayısıdır ve KB cinsinden ölçülür.
- Çöp toplama - Çöp toplama, hala kullanılan tüm nesneleri izliyor ve geri kalanını Çöp olarak işaretliyor.
DDMS (Dalvik Hata Ayıklama İzleme Sunucusu)
Bu, Runtime performans İzleme'yi analiz etmeye yardımcı olan araçtır. Ayrıca uygulamaların profilinin çıkarılmasına ve ayarlanmasına yardımcı olur.
DDMS tarafından sunulan Ana Hizmetler
- Toplam Yığın nesne ayırma istatistikleri
- Uygulama iş parçacığı statiği
- Cihaz Ekran görüntüsü yakalama
- Aygıt Dosyası gezgini
- Gelen çağrı ve SMS denetimi
- Konum verileri incelemesi
- Ağ Statik Konsolu
- Logcat (Ayrıntılı, Hata Ayıklama, Onaylama, Hata)
Bellek sızıntısı:
Bir Uygulama, amaca hizmet ettikten sonra bile uzun süre bir Nesneyi tutar ve bu nesne GC tarafından toplanmaz.
Bellek Sızıntısının Tespiti:
Genel olarak, Android uygulaması yanıt vermeyen veya en kötü durumda bellek dışında istisna olan bir Uygulama için bir İletişim Kutusu Açılır Penceresi gösterir. Her Cihazın sınırlı yığın boyutu vardır ve bir uygulama ek bellek için çalıştığında, İstisnalar gözlenir.
Bir Android cihazının Toplam yığın boyutunu kontrol etmek için aşağıdaki komutları kullanabiliriz:
- kedi / proc / meminfo | grep MemTotal
- adb –d çekme /system/build.prop
ADT Üzerinden DDMS'yi Başlatma Adımları
Aşama 1: Reklam paketini başlatın (kolayca erişilebilir İşte ) Veya aşağıdaki bağlantıları kullanarak Windows yapılandırması için ADT paketini yükleyin.
pencereler 32: https://dl.google.com/android/adt/adt-bundle-windows-x86-20140702.zip
pencereler 64: https://dl.google.com/android/adt/adt-bundle-windows-x86_64-20140702.zip
Adım 2: SDK'ya tıklayın
Aşama 3: Araçlara tıklayın
4. Adım: Monitor.bat (DDMS) öğesine tıklayın
Not: Yığın analizi için hata ayıklama apk'si gereklidir.
ADT paketinin başarıyla kurulmasından sonra, komut istemine gidin (adb dahili veya harici bir komut olarak tanınmıyorsa yolu ayarlayın).
Adb komutu (adb cihazları) aracılığıyla bir sisteme bağlı cihazı kontrol edin. Bir cihaz bağlandığında, bir uygulamanın paket adı ile DDMS ekranına bağlanır.
Android Studio aracılığıyla DDMS'yi Başlatma Adımları
Studio -> Araçlar -> Android -> Android cihaz Monitörü -> Menüden DDMS düğmesine tıklayın.
Bir yığın analizi için adımlar
- DDMS ekranında görünen bir uygulamanın paket adını seçin.
- Güncelleme yığın simgesini seçin.
- Her eylem için değer almadan önce GC nedeni üzerine dokunun.
- Şimdi komut isteminde komutu çalıştırın - adb shell dumpsys meminfo ve enter tuşuna basın.
- Değerler komut isteminde görünecektir.
- PSS toplamı, yerel, dalvik, yığın boyutu, yığınsız, yığın ayrılan, geliştiricilerin bellek çökmelerinde hata ayıklamasına yardımcı olacak değerlerdir.
- Verilerin daha iyi gösterimi, bir geliştirici için işi kolaylaştıracaktır.
- Veriler şöyle olmalıdır:
- GC nedenine tıkladıktan sonra nesnelerin değeri.
- PSS toplamı
- Yerel yığın yığın boyutu
- Dalvik yığın yığın boyutu
- Toplam yığın boyutu
- Yerel yığın yığın ayırma
- Dalvik yığın yığın ayırma
- Toplam yığın ayırma
- Yerel yığın yığınsız
- Dalvik yığınsız
- Toplam yığın boş
- Nesneler (DDMS'den GC nedenine tıkladıktan sonra)
- % ücretsiz kullanıldı
İdeal test: Daha iyi uygulama analizi için, bir uygulamayı arka planda tutarak ve aynı sayfaya giderek bu yaygın olarak kullanılan senaryoların tam akışını gerçekleştirerek farklı senaryolar gerçekleştirmeyi deneyin.
En yaygın kilitlenme, Yetersiz Bellek istisnası (OOM) olan bellek nedeniyle görüldüğünden, alt uç aygıtları kullanmayı deneyin.
DDMS Ekranı
Dalvik Değerlerinin Örnekleri
Sonuç
Bu makale, DDMS aracını kullanarak yığın analizini test etmek için kullanılabilir. Parametreler için doğru değerler, Android geliştiricilerinin belleği optimize etmesine yardımcı olacaktır.
Test araçları hakkında bilgi sahibi olmak iyidir ancak bu araçları verimli bir şekilde kullanmak bir Sanat olarak kabul edilir.
Mutlu Öğrenme !!
Önerilen Kaynaklar
- Android ve iOS Mobil Uygulamalarını Test Etmek İçin Appium Eğitimi
- Linux ve Windows'ta Java, C ++ için En İyi 20'den Fazla Bellek Sızıntısı Algılama Aracı
- TestComplete Aracını Kullanarak Android Uygulamalarını Otomatikleştirme
- Robotium'a Başlarken - En Popüler Android Uygulaması Kullanıcı Arayüzü Test Aracı
- Android ve iOS Cihazlar İçin 2021 Yılının En İyi 10 Proje Yönetimi Uygulaması
- Mobil UI Testi Eğitimi (iOS ve Android Uygulamalarının GUI Testi)
- Android Uygulaması için Appium Testleri Oluşturun
- Serbest Çalışanlar için EN İYİ 10 Zaman İzleme Uygulaması (2021 SEÇİCİ)