Я переустановил my question from Android Enthusiasts здесь, поскольку это скорее вопрос программирования, и это было рекомендовано. В любом случае. Вот он:Рабочие нитки на одноядерном устройстве
Я создаю приложение, которое изменяет build.prop значений ключа для ПЗУ. Тем не менее, Android часто дает мне предупреждение ANR, поскольку я выполняю всю работу с потоком пользовательского интерфейса. В документации для Android он говорит мне, что я должен использовать рабочие потоки и не выполнять какую-либо работу в потоке пользовательского интерфейса. Но я создаю это системное приложение для работы с ПЗУ для одного основного устройства.
Почему я хочу использовать рабочие потоки, так как это не так эффективно? Так как Android должен остановить поток пользовательского интерфейса, загрузить рабочий поток, а когда пользовательский интерфейс снова используется, остановите рабочий поток и снова загрузите поток пользовательского интерфейса. Разве это не так эффективно?
Итак, Должен ли я использовать рабочие потоки (что замедляет нисходящий поток нисходящих потоков) или просто выполняет всю мою работу над потоком пользовательского интерфейса. Даже если пользовательский интерфейс приложения очень медленный)?
Внесите свой код, используя любую распространенную передовую практику. В этом случае используйте рабочий поток (ы). –
не беспокойтесь о сердечнике. планировщик позволит вашему рабочему потоку запускаться, когда нить ui не работает, что обеспечивает плавный пользовательский интерфейс. Если ваш пользовательский интерфейс замедляется рабочими потоками, уменьшите их число/приоритет. – njzk2
Используйте рабочий поток. Уменьшите его приоритет ниже, чем в пользовательском интерфейсе. Результат - пользовательский интерфейс реагирует как обычно, и работа по-прежнему выполняется, (почти), в одно и то же время. –