У меня возникла, по моему мнению, незначительная проблема. Я разрабатываю приложение J2ME, которое преимущественно использует холсты для отображения. Проблема в том, что я установил все эти холсты в полноэкранный режим, и когда я перехожу от одного класса к другому, мне сначала предоставляется белый экран, а затем он переносится на холст, который я собираюсь перейти. Я не понимаю, что делаю неправильно. Я использую следующую инструкцию для навигации
javax.microedition.lcdui.Display.getDisplay(MIDlet).setCurrent(Canvas);
2 ответа
По моему опыту, создание мидлета с использованием нескольких различных холстов - довольно необычный подход. Я бы рекомендовал использовать только один и адаптировать поведение метода рисования на каждом экране.
Причин может быть множество, от проблем с синхронизацией между разными потоками до неоптимального кода. Вот несколько вещей, которые стоит попробовать
- Если ваше приложение использует потоки, отключите все, кроме потока пользовательского интерфейса, и продолжайте отсюда.
- Попробуйте установить цвет фона и посмотрите, изменится ли он на белом экране.
- Проверьте на разных телефонах, это может быть проблема, связанная с телефоном.
Похожие вопросы
Новые вопросы
canvas
Холст - это общий термин для обозначения поверхности рисования, используемый во многих API для вывода графики в свободной форме. Используйте этот тег с другими тегами, которые указывают конкретный графический API, который используется вместе с языком программирования и целевой средой: [android], [uwp], [wpf], [tkinter], [java], [html5], [chart.js] и т. д. Также при необходимости включите специальный тег canvas, например [android-canvas], [html5-canvas], [tkinter-canvas].