Я создал приложение, которое сравнивает скорость процессора телефона Android, выполняя одни и те же задачи на нескольких телефонах. Я заметил, что на HTC ONE X он становится намного медленнее, если я выключаю экран, в то время как он не меняется, когда я делаю то же самое на другом телефоне. В программе я помещаю задачу в службу и запускаю ее в отдельном потоке с приоритетом, равным максимальному значению 10.
Я попытался использовать частичную блокировку пробуждения, чтобы процессор работал, когда экран выключен. Но на скорость это никак не влияет.
Я понимаю, что разные ОС/интерфейсы (например, HTC sense) имеют свою собственную стратегию управления питанием. Но мне интересно, есть ли способ преодолеть это, не рутируя телефон, то есть поддерживать работу процессора на 100% тактовой частоте?
Обновления: недавние эксперименты показывают, что при выключенном экране One X (с ICS) снижает частоту процессора и отключает многоядерную функциональность, Galaxy Nexus (с ICS) снижает производительность примерно на 25%, Nexus 7 снижает примерно на 25%. % большую часть времени (иногда он может работать на максимальной скорости при выключенном экране).