статическая ссылка для растрового изображения в методе ondraw - PullRequest
0 голосов
/ 28 октября 2018

У меня есть SurfaceView, где мне нравится рисовать кучу текста и рисовать изображение в формате png 72 на 72 пикселя.Изображение всегда рисуется на SurfaceView, но каждые 2 секунды в другом месте.

Не плохо ли создавать статическую ссылку на растровое изображение (из этого изображения) и использовать его каждый раз?Я пытаюсь избежать дополнительных затрат на «инициализацию» растрового изображения, поскольку оно постоянно является одним и тем же изображением.

Ответы [ 2 ]

0 голосов
/ 28 октября 2018

Вместо статической ссылки, я думаю, было бы лучше использовать ссылку на экземпляр в SurfaceView и инициализировать ее в методе onCreate() представления.Таким образом, инициализация не является проблемой (у вас автоматически появляется контекст, который вы можете использовать для загрузки изображения).Кроме того, растровое изображение автоматически исчезает, когда само представление очищается от мусора.

Если вы создаете новый SurfaceView каждые две секунды, это другая история.Статическая ссылка может иметь смысл в этом сценарии.Но тогда я бы поинтересовался дизайном вашего приложения.:)

0 голосов
/ 28 октября 2018

Проблема со статическими ссылками в управлении памятью заключается в том, что вам придется собирать мусор самостоятельно.т. е. вам нужно будет перезапустить растровое изображение и сделать его нулевым, как только он больше не будет использоваться.

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

...