Сохранение экрана может быть выполнено с помощью wakelock на
mWakeLock = mPowerManager.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK,
getClass().getName());
Или добавив FLAG_KEEP_SCREEN_ON в окно,
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Какая техническая разница между двумя и с точки зрения производительности и времени автономной работы, которая рекомендуется?