2016-07-04 19 views
0

Ich arbeite an einer App, die für View-Ereignisse wie Scrollen, Layout mit ViewTreeObserver gezeichnet lauscht. ViewTreeObserver hat eine Methode, um zu überprüfen, ob es aktiv ist, bevor Sie z. Hinzufügen von ZuhörernWie lange ist Android ViewTreeObserver am Leben?

Ich muss das Problem von tot/nicht lebendig ViewTreeObserver reproduzieren, um zu sehen, ob mein Code gut in der Produktion funktioniert. Ich sehe nichts in Android-Dokumentation, um es zu reproduzieren.

Ich schätze jede Hilfe/Zeiger.

Dank

Antwort

0

In der Tat, wenn Sie den Quellcode der Klasse ViewTreeObserver überprüfen, gibt es eine „kill“ Funktion mAlive auf false, auch hier nur zu setzen, aber wird es nie aufgerufen.

/** 
* Marks this ViewTreeObserver as not alive. After invoking this method, invoking 
* any other method but {@link #isAlive()} and {@link #kill()} will throw an Exception. 
* 
* @hide 
*/ 
private void kill() { 
    mAlive = false; 
} 

Meiner Meinung nach wird dieser Beobachter nicht mehr zur Verfügung (ist aber nicht un-alive, können Sie nicht verwenden IsAlive() aktuelle Beobachter Zustand zu bestimmen) nach:

  1. Sie entfernt Listener, wie view.getViewTreeObserver(). removeOnGlobalLayoutListener (this);

  2. wird die aktuelle Aktivität der Ansicht enthält
zerstört
Verwandte Themen