Android улучшает производительность карты многомерных массивов ⇐ JAVA
Android улучшает производительность карты многомерных массивов
У меня есть рабочий код, но я хочу добиться повышения производительности FPS в drawMap() (этот метод вызывается позже в пользовательском методе onDraw() SurfaceView). Проблема, конечно, в этих огромных объектах bitmapsAnimated и canvasesAnimated. В качестве решения я хотел бы, например, разделить их на более мелкие конструкции. Я думаю, это могло бы значительно улучшить мой FPS, но я не знаю, как изменить свой код, чтобы это сделать. Я также открыт для других улучшений по этой проблеме, которые вы предлагаете.
private static Final Map bitmapsAnimated = new HashMap(); частная статическая окончательная Map CanvasesAnimated = new HashMap(); public void init(List animFrames) { for (int i = 0; i < animFrames.size(); i++) { runnables.add(new FrameDurationRunnable(animFrames.get(i), animsDuration.get(i))); bitmapsAnimated.put(i, new Bitmap[animFrames.get(i)][40][60]); CanvasesAnimated.put(i, новый Canvas[animFrames.get(i)][40][60]); for (int j = 0; j < animFrames.get(i); j++) { for (int a = 0; a < 40; a++) { for (int b = 0; b
У меня есть рабочий код, но я хочу добиться повышения производительности FPS в drawMap() (этот метод вызывается позже в пользовательском методе onDraw() SurfaceView). Проблема, конечно, в этих огромных объектах bitmapsAnimated и canvasesAnimated. В качестве решения я хотел бы, например, разделить их на более мелкие конструкции. Я думаю, это могло бы значительно улучшить мой FPS, но я не знаю, как изменить свой код, чтобы это сделать. Я также открыт для других улучшений по этой проблеме, которые вы предлагаете.
private static Final Map bitmapsAnimated = new HashMap(); частная статическая окончательная Map CanvasesAnimated = new HashMap(); public void init(List animFrames) { for (int i = 0; i < animFrames.size(); i++) { runnables.add(new FrameDurationRunnable(animFrames.get(i), animsDuration.get(i))); bitmapsAnimated.put(i, new Bitmap[animFrames.get(i)][40][60]); CanvasesAnimated.put(i, новый Canvas[animFrames.get(i)][40][60]); for (int j = 0; j < animFrames.get(i); j++) { for (int a = 0; a < 40; a++) { for (int b = 0; b
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Распараллеливание запроса выбора в sqlite Python, похоже, не улучшает производительность.
Anonymous » » в форуме Python - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Улучшает ли использование окончательного ключевого слова в Java производительность?
Anonymous » » в форуме JAVA - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-