Мне нужно быстро менять изображения (в миллисекундах) для моей игры. Я использую ImageViews и setImageResource() для установки изображений в ImageViews. Ниже приведен журнал с продолжительностью действия, которое требуется выполнить.Самый дешевый способ установить изображение для ImageView в Android
- 10мс - Pattern4
- 10мс - Pattern4
- 4ms - Pattern4
- 6ms - Pattern4
- 172ms - Pattern3
- 186ms - pattern1
- 174ms - ТЕСТ2
- 84ms - Образец1
- 45 мс - Пат tern2
- 196ms - Pattern3
- 9ms - Pattern3
- 4ms - ТЕСТ2
- 70ms - Pattern1
- 0ms - pattern1
- 2мс - Pattern3
- 40мс - ТЕСТ2
код :
for (int i = 0; i < 9; i++) {
buttons[i].setImageResource(current_set[i + 2]);
buttons[i].setTag(current_set[i + 2]);
buttons[i].requestLayout();
}
Продолжительность, указанная выше, - это время, затрачиваемое на 16 вызовов методов, которые выполняют одно и то же действие (для установки изображений для 9 ImageViews).
Почему же набор из 9 фотографий в шаблоне занимает совершенно другую продолжительность делать setImageResource() 9 раз (за вызов метода)?
Не могли бы вы предложить другие методы, позволяющие сократить время, затрачиваемое на «setImagResource()»?
спасибо.
Если вы пишете игру, то почему вы используете 'ImageView' в первую очередь? – CommonsWare
Hi CommonsWare, Концепция настолько проста, что взаимодействует с кнопками на экране. А также у меня нет опыта использования openGL или других подобных вещей. Поэтому я решил просто пойти с обычными ImageViews в таблице Layout. И я верю, что если я смогу преодолеть эту проблему продолжительности и сделать изображения, которые будут заменены плавно единообразно, игра будет в порядке, чтобы играть. Спасибо :) –
Вы могли бы сэкономить время, избавившись от вызовов 'requestLayout()'.Кроме того, никто на планете не знает, что такое «Pattern1», что означает время «Pattern1» по сравнению со временем для «Pattern2», что «16 методов звонят» вы говорите, что эти «вызовы 16 методов» «имеют отношение к любому времени, что« одно действие »имеет отношение к любому времени, что означает« 9 изображений в шаблоне », что отличается от« 9 изображений в шаблоне »по сравнению с« setImageResource() 9 раз (за вызов метода) "и т. Д. – CommonsWare