Улучшение устаревших Java-апплетов как по производительности, так и по внешнему виду - PullRequest
2 голосов
/ 03 июня 2010

У меня довольно большой устаревший Java-апплет, в котором есть несколько проблем:

  1. Похоже на ши $% # $
  2. медленно загружается
  3. Он иногда зависает в некоторых браузерах, даже с последней версией JRE

Поскольку Java-апплеты отчасти пошли по пути птицы додо, я не могу найти какой-либо недавней надежной информации о том, как смягчить эти проблемы.

Как говорится, я не хочу заменять апплет новой технологией, так как в этот раз будет много работы.

Есть ли какие-либо советы, рекомендации или рекомендации, которые есть у людей по этой проблеме?

1 Ответ

1 голос
/ 03 июня 2010

1) Похоже на ши $% # $

Интерфейс имеет значение. Рассмотрите возможность изменения Swing look'n'feel .

2) медленно загружается

Может быть вызвано большим размером файла и / или медленной сетью. Сколько нужно загрузить клиенту перед запуском апплета? Разве файл JAR апплета не слишком большой? Например. исходные файлы включены? Слишком большие изображения включены? Слишком много неиспользуемых классов и библиотек включено? Proguard может помочь в уменьшении размера файла JAR.

Это также может быть вызвано неэффективным кодом. Это написано с учетом памяти и эффективности процессора? Запустите Profiler , чтобы увидеть его и соответственно улучшить.

3) Он иногда зависает в некоторых браузерах даже с последней версией JRE

Браузерный вопрос. Правда, надежное развертывание апплета ужасно. Возможно, вы захотите использовать для этого Script Toolkit Script . JavaScript будет определять используемый браузер и его возможности и предпринимать соответствующие действия. Это так же просто, как в следующем примере, взятом с вышеупомянутого сайта:

<script src="http://www.java.com/js/deployJava.js"></script>
<script>
    var attributes = {codebase:'http://java.sun.com/products/plugin/1.5.0/demos/jfc/Java2D',
                      code:'java2d.Java2DemoApplet.class',
                      archive:'Java2Demo.jar',
                      width:710, height:540} ;
    var parameters = {fontSize:16} ;
    var version = '1.6' ;
    deployJava.runApplet(attributes, parameters, version);
</script>
...