Мой личный взгляд (не может быть ответом, который вы ищете):
Почему Android потребляет больше энергии?
Приложения Android используют высоко оптимизированную виртуальную машину Java Java. Так что, если вы смотрите со стороны, приложение Android запускается внутри виртуальной машины, которая находится внутри реальной машины. Таким образом, у вас есть две машины вместо одной.
Каждый раз, когда приложение для Android производит инструкцию, она должна быть преобразована в машинный код из промежуточного кода и затем выполнена ЦПУ. Это дополнительный шаг, который потребляет энергию.
Внутренняя природа Ubuntu Touch
В Ubuntu touch нет виртуальных машин Java. Он может напрямую запускать двоичные программы, скомпилированные для процессора, полностью исключая необходимость перевода. Таким образом, мы знаем, что в Ubuntu Touch потребление энергии должно быть меньше в определенной степени.
Однако большинство приложений Ubuntu Touch до сих пор используют интерпретатор, называемый qmlscene
виртуальной машиной Java. Эти приложения не в двоичном формате, а в удобочитаемом коде. Код интерпретируется для инструкций процессора во время выполнения. qmlscene
Влияние на производительность меньше, чем время выполнения Java, потому что не задействована виртуальная машина. Не отмечено, что это энергозатратная система, поскольку разработчики QT сделали ее чрезвычайно эффективной.
Есть много других причин для дополнительного потребления энергии. Он включает в себя управление использованием 3G / 4G, фоновые услуги и т. Д. Мы игнорируем такие факты, потому что они отличаются от одного устройства к другому. Эти факты, по крайней мере, в определенной степени контролируются операционной системой.
Резюме
Ubuntu Touch, скорее всего, потребляет меньше энергии, чем Android. На момент написания статьи это еще не оптимизировано. Придется дождаться выхода телефонов.