2015-08-15 17 views
26

Verilen: içinde herhangi bir özel kod olmadan, Android Studio Wizard, ile oluşturulan basit bir aktivite, sürekli bellek çağrısı dumpGfxInfo() tüketir.Android: Sabit bellek tüketimi/dumpGfxInfo()

--- 8< ------------------------------------------------------------------ 

* < Thread 12 > 
    * execTransact():446, Binder (andoroid.os) 
    * onTransact():545, ApplicationThreadNative (android.app) 
     * dumpGfxInfo():1107, ActivityThread$ApplicationThread (android.app) 

--- 8< ------------------------------------------------------------------- 

Görünüşe dumpGfxInfo() boş dizeler için bellek ayırarak bellek tüketir: Tahsis Tracker içinde

Android Studio'nun inşa aynı şeyi en az üç konu ortaya koymaktadır. derlenmiş sadece ilgili bağımlılık, istisnasız sonrasında bu bellek tüketimi ile birlikte com.android.support:appcompat-v7:22.2.1

, (bazen) doğar:

15331-15364/ W/Binder﹕ Caught a RuntimeException from the binder stub implementation. 
    java.lang.NullPointerException: Attempt to read from field 'android.view.HardwareRenderer android.view.View$AttachInfo.mHardwareRenderer' on a null object reference 
      at android.view.WindowManagerGlobal.dumpGfxInfo(WindowManagerGlobal.java:466) 
      at android.app.ActivityThread$ApplicationThread.dumpGfxInfo(ActivityThread.java:1107) 
      at android.app.ApplicationThreadNative.onTransact(ApplicationThreadNative.java:548) 
      at android.os.Binder.execTransact(Binder.java:446) 

Soru: Nasıl Bu davranışı düzeltmek/kapatmak ve ondan kurtulmak için?

cevap

19

En son Android Studio sürümü gibi görünüyor. Eski sürümlerinde bu sorun yok. Bkz. this link

+0

Cevabınız için çok teşekkür ederim. – Pryer

+0

Bu, işaretçi etkileşimlerini test ettiğimde öykünücüde oluyor. Android Studio ile ne ilgisi var? –

+0

@IgorGanapolsky soru metnine bir göz atın. Boş projelerde bile bu sorun var: 'İçinde herhangi bir özel kod bulunmayan Android Studio Sihirbazı ile oluşturulan basit bir etkinlik, sürekli bellek çağrısı dumpGfxInfo(). – agamov

1

Tanımlanan davranış en son SDK güncelleştirmesi 1.4 Beta (Yapı AI-141.2202261) 'de giderilmiştir.

28

Daha fazla başvuru ve buraya gelen herkes için: Varsayılan olarak devre dışı olmadığından GPU profillemesini devre dışı bırakmanız gerekir (Android Studio 2.1 Preview 4). 'Monitörler' bölümündeki düğmeyi bulursunuz (aşağıdaki resme bakın) enter image description here

+3

Teşekkür ederim adamım. Sürekli olarak bellek artışlarında artış gösterdiğinden iki gün boyunca uygulamanızda bir bellek sızıntısı bulmaya çalışıyordum. Bir android stüdyonun buffoon'unu, GPU'yu sürekli olarak izlediğimi ve hafızamı tuttuğunu ortaya koyuyor: \ – Kushan

+3

Bu yanıt kabul edilmeli. % 100 doğru. –

+1

Çok teşekkürler, geçen iki günü de bir sızıntı bulmaya çalışırken geçirdim. Bu tam ihtiyacım olan şeydi. –