Правильная работа WAKE LOCK

У меня в приложении написано следующее.
В активити:

protected void onCreate(Bundle savedInstanceState) {
      if (firstCreate) {
        PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
        MyService.wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"My WakeLock");
        MyService.wakeLock.acquire();
      }
<...>
}

И в манифесте:

<uses-permission 
        android:name="android.permission.WAKE_LOCK" />

Итак, запустив приложение, которое выполняет разные «вычисления» используя где-то 50-100Мб озу, я его сворачиваю. Всё хорошо, так как для вычислений я использую Сервис переднего плана, да и ограничения фоновой активности убраны.
Но, выключив экран смартфона и оставив его в стороне минут на 15, я его снова включаю. И к удивлению обнаруживаю, что сервис уничтожен: уведомления то нет и все данные в приложении потеряны (это видно по тому в каком виде появляется активити).
С помощью одной программы открываю диспетчер задач и вижу, что после закрытия приложения, процесс всё ещё висит в памяти (пока его не удалю).

До того как я вставил код указанный в начале поста всё было хорошо: после включения экрана смартфона, сервис не бывал уничтоженным, вообщем приложение работало как полагается, хоть и при режиме Doze оно засыпало.
А запуск newWakeLock(), почему-то не дало результата и только испортило приложение.

Если кто знает, как правильно включить «WAKE LOCK», подскажите?!