Оптимизируйте время загрузки Windows Form

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

5
задан Gulzar Nazim 14 March 2009 в 15:31
поделиться

2 ответа

Можно использовать ngen.

Я также использую эту подсказку для сокращения Объема потребляемой памяти на запуске.

Собственный Генератор Изображения (Ngen.exe) является инструментом, который улучшает производительность управляемых приложений. Ngen.exe создает собственные изображения, которые являются файлами, содержащими, скомпилировал определенный для процессора машинный код и устанавливает их в собственный кэш изображений на локальном компьютере. Время выполнения может использовать собственные изображения от кэша вместо этого с помощью своевременного (JIT) компилятора для компиляции исходного блока.

10
ответ дан 18 December 2019 в 12:03
поделиться

Необходимо узнать, куда время идет, прежде чем можно будет оптимизировать его. Не делайте просто ngen этого, не узнавая это сначала, как будто проблема загружает фоновый растровый ресурс 150 МБ затем, Вы не будете делать ничего полезного вообще с ngen.

Необходимо игнорировать весь определенный совет или догадки об оптимизации, которые возникают без любых сделанных измерений.

5
ответ дан 18 December 2019 в 12:03
поделиться