簡而言之,我需要知道應用程序啓動何時完成,即何時應用程序完全被繪製並對用戶可見。當應用程序被完全繪製並可見時進行檢測
ViewTreeObserver.OnGlobalLayoutListener()
有單一方法 - onGlobalLayout()
。 我看到它被多次調用,但我無法檢測到每個特定調用背後的原因。通常它被稱爲2-3次,在應用程序變得可見之前。因此,我需要知道在每次啓動應用程序期間是否會調用2次或3次或X次,所以我假設每次調用onGlobalLayout()
的原因都可以幫助確定這一點。
但是我不堅持使用onGlobalLayout()
如果有更好的方法來完成這個任務,所以請隨時給予其他的可能性。
這應該是有效的,因爲.. 。它會將Runnable添加到該視圖的消息隊列的末尾,以便在繪製視圖之後執行run()方法? 有沒有辦法找到最終繪製哪個視圖? – helleye
@helleye我不知道,但我們應該輕鬆地承擔最後應該繪製哪個佈局...... :-) 不應該嗎? – Rumit
我不能輕易推測哪一個最終會被繪製出來:) 無論如何,我沒有看到通過選擇不同的佈局來發布它們的可運行性,因此這個解決方案最符合我的需求。 – helleye