引用で言及されているトリックは、基本的に、プログラムを呼び出した直後にスプラッシュ スクリーンを表示し、クラスのロードを開始することによって、アプリケーションのロードが高速であるという錯覚をユーザーに与える方法です。
アプリケーションのメイン クラスがTheActualApplication
. そのため、アプリケーションのスタートアップ クラスを作成すると、メイン クラスとして使用するFastSplash
場合よりも早くスプラッシュ スクリーンが表示される場合があります。SlowSplash
public class FastSplasher {
public static void main(String[] args) {
SplashWindow.splash(Splasher.class.getResource("splash.gif"));
SplashWindow.invokeMain("TheActualApplication", args);
SplashWindow.disposeSplash();
}
}
public class SlowSplasher {
public static void main(String[] args) {
SplashWindow.splash(Splasher.class.getResource("splash.gif"));
TheActualApplication.main(args);
SplashWindow.disposeSplash();
}
}
使用時にスプラッシュ スクリーンがすぐに表示される理由FastSplash
は、現在の Java VM では通常、遅延クラス解決がオンになっているため、大きな違いが見られない可能性があるためです。積極的なクラス解決の場合、スプラッシュ インSlowSplasher
は、で使用されるすべてのクラスがロードされた後にのみ表示さTheActualApplication
れます。クラスは実行時にリフレクションを使用して動的にロードされ、静的に解決できず、起動時にロードされるFastSplasher
ため、スプラッシュ画面にすぐに表示されます。TheActualApplication