| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > Отрисовка круга |
| Автор: Su_ 17.2.2010, 18:42 | ||||
| Всем доброго дня. Решил сделать, мигающий круг по координатам.. Сразу стал вопрос с repaint() . Но я сделал так : у меня есть таймер ,который тикает каждую секнуду , обновляя время на панели , я в него запихнул такой код:
метод preview_sectors рисует кружки :
В итоге , по кнопочке делаем глобальную переменную drawing=1 и она начинает мигать, =3 останавливается и стирается.. Пытался сделать через clearRect, но кружок отображается на картинке , и прямоугольник затирает и её.... Все вроде бы работает как нужно, но тут Вопрос??? Будет ли такой ход давать нагрузку на память? ( ведь по логике мы наслаиваем круги разных цветов) ... Заранее спасибо.! |
| Автор: Christoph 17.2.2010, 22:25 |
| Я плохо разбираюсь в Java, но может этот код выполнять в отдельном потоке? |
| Автор: Su_ 17.2.2010, 23:18 |
| да конечно) иначе бы весь SWING виснул бы , но вопрос заключается немного не в этом.. Тут идет наслаивание картинок , то синяя , то красная - создается эффект мигающего круга, вопрос будет ли каждый объект сохранятся в памяти и в итоге перегружать её ? |
| Автор: jk1 17.2.2010, 23:25 | ||
Если вы будете сохранять ссылки на эти объекты, то они будут оставаться в памяти. Если нет, сборщик мусора их соберет. Если это вас не убеждает, воспользуйтесь профайлером. Это специальный инструмент для мониторинга поведения работающего приложения, в том числе и потребления оперативной памяти. Для ваших задач более чем достаточно стандартного профайлера из комплекта JDK - VisualVM. http://habrahabr.ru/blogs/java/61857/ подробно описано, как им воспользоваться. |
| Автор: Su_ 18.2.2010, 00:39 |
| спасибо ,посмотрю. А можно ли как то в ручную удалить объект , типа Oval? |
| Автор: Su_ 18.2.2010, 02:32 |
Программка очень полезная, спасибо, а главное удобная.. Вот такой результат получил , только при другой активности программы есть скачок CPU, а если оставить просто мигание , то CPu идет ровно, по крайне мере не растет. Думаю что можно сделать вывод, что для реализации подобной анимации , такой метод годится) |