Обеспечивает ли IceCream Sandwich 4.0.3 дополнительные ограничения для разработчиков приложений при использовании потоков? - PullRequest
2 голосов
/ 08 февраля 2012

Я работаю над приложением, разработанным для планшета (специально проверенным на Motorola Xoom и Samsung Galaxy Tab 10.1). О.С. был использован HoneyComb.

Недавно после обновления O.S. на официальном Icecream Sandwich 4.0.3, который был получен как уведомление об обновлении, я считаю, что приложение не совсем хорошо. Отстает в производительности, часто выдает диалоги ANR (приложение не отвечает).

Хотя я понимаю, что ANR связаны с выполнением большего объема работы в потоке пользовательского интерфейса, мне нужно знать, обеспечивает ли эта новая версия Android 4.0.3 более строгие ограничения на количество потоков, работающих в фоновом режиме? Или убиваете их, поскольку существует деятельность, которая ее начала?

Приложение использует потоки исключительно для загрузки изображений с сервера в виде списка. Переключение между экранами заставляет каждого отдельного держателя изображения начинать новый поток для его загрузки. Повторное тестирование на Honeycomb делает его отлично работающим, но не с 4.0.3, Почему?

Вопрос в том, вносит ли сэндвич мороженого 4.0.3 изменения в эту область в О.С. уровень обработки потоков или жизненный цикл активности для разработчиков?

1 Ответ

0 голосов
/ 08 февраля 2012

В жизненном цикле активности в ICS нет серьезных изменений.

Жизненный цикл активности можно найти здесь:

http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

Вы не должны выполнять тяжелую работу в потоке пользовательского интерфейса. В операции Settings в ICS под Developer options вы можете включить Strict mode и некоторые другие параметры, которые помогут вам увидеть проблемы с производительностью в вашей программе, такие как использование процессора.

...