Android - функция не завершается - PullRequest
0 голосов
/ 29 ноября 2011

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

11-29 11:26:18.417: WARN/ActivityManager(59): Launch timeout has expired, giving up wake lock!
11-29 11:26:18.556: WARN/ActivityManager(59): Activity idle timeout for HistoryRecord{45059000 com.MeetingManager/.MeetingManager}

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

Как мне дать моей функции больше времени?

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

String xml = XMLfunctions.getXML (items); Документ doc = XMLfunctions.XMLfromString (xml);

1 Ответ

1 голос
/ 29 ноября 2011

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

Посмотрите на this и перемещайте любые длительные операции в нечто вроде ASyncTask или Thread с обработчиком .Посмотрите здесь для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...