Кнопка возврата очень медленная

У меня есть приложение для Android с TabActivity, содержащее 4 вкладки - представление списка, представление карты, другой список и веб-просмотр. В представлении списка я могу нажать на элемент, и он начинает другое действие, нажав назад, чтобы вернуться к действию вкладки.

Однако после посещения вкладки представления карты переход ко второму действию из представления списка и затем нажатие кнопки «назад» приводит к зависанию примерно на 3-4 секунды. Когда посещение карты посещено, эта проблема никогда не исчезнет, пока приложение не будет закрыто.

Еще несколько заметок:

Проблема с картой также может запускать другое действие - и в этом случае кнопка «Назад» работает нормально - только если вкладка представления карты неактивна при запуске второго действия, возникает проблема.Тестирование на двух устройствах - проблема возникает на Galaxy S, не возникает на Nexys 7.В logcat нет ничего очевидного.Приложение использует Maps API V2 и поддерживает lib для поддержки фрагментов.Приложение написано в моно.

Больше информации. Я вставил несколько сообщений журнала в активность карты для событий ее жизненного цикла:

Переход от вкладки карты:

02-12 18:53:43.841 I/MAPTEST ( 5031): OnSaveInstanceState
02-12 18:53:43.857 I/MAPTEST ( 5031): OnPause

Запуск второго действия на вкладке представления списка:

02-12 18:54:06.900 I/MAPTEST ( 5031): OnSaveInstanceState
virtual void WebCore::Widget::show()
virtual void WebCore::Widget::show()
void WebCore::ScriptController::updatePlatformScriptObjects()
virtual void WebCore::Widget::show()
static bool WebCore::ResourceHandle::supportsBufferedData()
static bool WebCore::ResourceHandle::supportsBufferedData()
02-12 18:54:07.353 I/MAPTEST ( 5031): OnStop

Нажатие кнопки «Назад» во втором упражнении (то есть, когда происходит пауза):

-- Absolutely nothing in log cat --

Переключение обратно на вкладку карты:

02-12 18:54:59.056 I/MAPTEST ( 5031): OnRestart
02-12 18:54:59.060 I/MAPTEST ( 5031): OnStart
02-12 18:54:59.064 I/MAPTEST ( 5031): OnResume

Что может привести к блокировке возврата к занятию на 3-4 секунды?

Кроме того, что еще я могу сделать, чтобы диагностировать это?

Больше информации:

Согласно комментарию michal-z, он был профилирован под DDMS, и большую часть времени он проводил в рассылке сообщений, макете и рисовании ... поэтому я с подозрением отношусь к какой-то рекурсивной компоновке или проблеме с рисованием ...

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

Еще одно продолжение:

только Решение, которое я мог бы найти для этого, состоит в том, чтобы удалить фрагмент, когда действие остановлено, и добавить его обратно при возобновлении, а также сохранить положение камеры. Я также попытался скрыть и снова показать фрагмент как с помощью диспетчера фрагментов, так и непосредственно в виде карты - не повезло.

Ответы на вопрос(0)

Ваш ответ на вопрос