如何在程式啟動的時候去完成View 的測量

2021-07-10 05:17:32 字數 545 閱讀 5567

在android中 去執行view 的測量的時候,會去呼叫view 的measure 方法,在執行startactivty的時候去執行view 的測量方法,關鍵是在啟東activity 的時候,去觸發呼叫measure 方法的時機。

通常有2種方法可以參考

1 在 onwindowfocuschanged()

中去執行,為啥不在activty 的onstart() 或者oncreate() 這些生命 週期中執行,是因為,activity()的這幾個生命週期的執行和view 的建立是並行的,所以,要執行view 的測量最好不要在activity 的生命週期中建立,但是在 

onwindowfocuschanged()

中執行有個弊端,是當我們activity 沒次獲到焦點的時候,都會觸發這個方法,所以會頻繁的去執行view 的measure 方法,最好在這個方法的引數hasfoucs,判斷為true 的時候,去執行測量方法。

2 在通過 view 的getviewtreeobserver().addongloballayoutlistener() 介面,在布局完成後,會自動呼叫。

如何在程式啟動的時候自動掛接Debugger

在某些情況下,你可能需要除錯乙個由其他程式所啟動的程序的啟動 而這個過程並不由你所控制。比較典型的例子有com程序外伺服器和windows service。通常你可以在 中手動加上debugbreak api呼叫來自動啟動除錯程式,大部分情況這都能工作。不過,某些情況下debugbreak會不起作用...

vivado 如何在程式啟動的時候觸發 ILA

下面講解在vivado中怎麼抓乙個bit下進去後開始執行的初始事件,即startup trigger。操作起來比較複雜,一般情況下都是讓要抓的事件延遲發生或者迴圈發生,方便除錯。如果實在要抓啟動時的事件,按下面的步驟 1.先把有ila核的bit檔案下進去,設定觸發好條件 2.執行下面的tcl命令把觸...

如何在Ubuntu啟動的時候自動載入核心模組?

答 在ubuntu根檔案系統中新增對應核心模組名稱到 etc modprobe.d your.conf即可 1.複製核心模組到 lib modules uname r 下 cp your kernel module name.ko lib modules uname r 2.執行命令 depmod ...