Я занимаюсь разработкой (прокрутки) игры и получаю странные сообщения в LogCat:
- lock_layer () истекло время, но, похоже, его не нужно было блокировать, и мы восстановились (..)
- истекло время ожидания lock_layer (не привязан ли процессор?) ...
- executeScheduledBrodcasts () пропущено, конфликт на клиенте.Мы попробуем еще раз позже.
похоже, что рендеринг занимает слишком много времени и вызывает предупреждение (я рисую ~ 50 изображений в каждом кадре), но это ошибка эмулятора?Когда я тестирую его на устройстве (sony ericsson xperia x8), работающем 1.6, я не вижу никаких задержек или падений производительности (я получаю ~ 60 кадров в секунду).Я получаю это предупреждение только в Android 1.6.
Должен ли я его игнорировать?Может ли это привести к падению игры?Я делаю что-то ужасно неправильно или это ошибка?
Выполнить код:
while(running) {
try {
c = holder.lockCanvas(null);
synchronized(holder) {
// getElements - returns a Vector of elements to be drawn relative to camera
elements = collection.getElements(cameraX,cameraY,cameraWidth,cameraHeight);
for(int i =0 ; i < elements.size(); i++) {
// draw the element according to camera
c.drawBitmap(image,elements.get(i).x,elements.get(i).y);
}
}
} finally {
holder.unloackCanvasAndPost(c);
}
}
Спасибо за ответ.
С уважением, J.