簡體   English   中英

Eclipse如何快速顯示啟動界面

[英]How does Eclipse show the startup interface so fast

Java程序開始很慢。

我編寫了一個JavaFX桌面軟件。 當我雙擊可執行jar時,顯示窗口花費將近5秒。 我認為JVM花了一點時間來加載這個類。

但是當我打開Eclipse時,會立即顯示進度GUI。 我怎么能像Eclipse那樣做? 它是否使用其他技術來顯示沒有JVM的GUI?

'eclipse'可執行文件實際上是一個小型C程序(源代碼在這里 )。

這將讀取eclipse.ini,如果已指定則顯示啟動屏幕,然后使用eclipse.ini中指定的參數初始化JVM並啟動主Eclipse Java代碼。 因此,JVM初始化和Java啟動是在已經顯示的啟動畫面的情況下完成的。

Java代碼被賦予對啟動窗口的引用,因此它可以在完成后更新進度並關閉窗口。

如果您編寫Eclipse RCP,則使用相同的代碼來啟動RCP。

秘訣是:哪些類用於顯示“閃屏”?!

在這里猜測 :日食人員已經對這段代碼進行了微調。 他們可能只在那里使用AWT組件。 好吧,我保持糾正:他們根本沒有使用java用於啟動畫面(參見其他答案)。 沒有驚喜。

除此之外,關於潑濺Java的軼事答案:很多年前我寫了一個Swing應用程序。 當然,客戶需要一個漂亮的閃屏,帶有公司徽標和進度條; 顯示加載的“模塊”的數量。 我使用擺動面板編寫了第一個版本。 該面板在15秒后出現(當時沒有固態硬盤),3秒后達到100%。 當時的解決方案:我寫了一個新版本,其中包含最少數量的AWT組件。 最后,那個閃屏看起來有點“不太好” - 但是在說了3,5秒后就出現了。

我想我甚至篡改了類加載順序,以確保我拉出顯示啟動畫面所需的東西加載所有“昂貴”的類。

(如果這不會導致“飛濺顯示”和“應用程序滿載”之間的“足夠延遲”......可以簡單地將它放在那里稍微延長閃屏的“生命時間”更長。當然,你不告訴客戶這個;-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM