2013-08-19 2 views
2

Я разрабатываю приложение для Android с большим количеством обработки изображений, а logcat часто показывает мне "Skipped n frames...." сообщений.Как узнать причину сообщения logcat для Android «Пропущенные n кадров. Слишком много работы в основной теме»

Вопрос «Как след причина этих сообщений?». Я понимаю, что это значит (т. Е. Создавая AsyncTasks и т. Д.), Мне просто нужно выяснить, какая часть моего кода вызвала его.

Есть ли все-таки сделать это на Eclipse ADT? (Возможно, что-то вроде профайлер базы данных можно найти в некоторых фреймворков)

+0

и нужно использовать AsyncTask – KOTIOS

+0

простое предложение было бы в том, чтобы убедиться, что любые операции, которые не имеют полагаться на взаимодействие с пользователем, обрабатывается в фоновом потоке. Например, если вы масштабируете растровое изображение, то делайте это в другом потоке, а не в основном потоке пользовательского интерфейса. –

+2

Он спрашивает, как отслеживать часть кода, которая вызывает это ... – Calvin

ответ

4

Используйте инструмент трассировки из Android SDK: http://developer.android.com/tools/debugging/debugging-tracing.html

+0

Спасибо за ответ, я буду попробуйте. Любая конкретная подсказка по использованию трассировщика android для отслеживания моей проблемы (пропущенные кадры)? – akhyar

+1

Просто отслеживайте активность в основной (UI) потоке, вы не блокируете основную нить более чем на 16 мс, меньше - лучше. – kriomant