effidevFlutter · Cloudflare-Edge · Cloud-Kostenoptimierung
Deutsch

Zuverlässige Flutter-Hintergrundaufgaben auf iOS & Android: WorkManager & BGTaskScheduler Meistern

Flutter iOS Android Hintergrund-Task WorkManager BGTaskScheduler Architektur

Akku-Optimierungen von Android und iOS stoppen inaktive Flutter-Apps im Hintergrund häufig abrupt.

Wir zeigen die Umsetzung robuster Hintergrund-Prozesse mit dem Paket WorkManager, die Kennzeichnung von Isolate-Punkten mit @pragma('vm:entry-point') und Tests per CLI.

Wichtigste Erkenntnisse

  • System-Mechanismen: Android nutzt WorkManager mit Ausführungsbedingungen; iOS nutzt BGTaskScheduler mit Zeitfenstern von ca. 30 Sekunden.
  • Isolate-Entkopplung: Hintergrund-Tasks laufen in einem eigenen Isolate. Der Einstiegspunkt erfordert @pragma('vm:entry-point').
  • iOS-Grenzen: Keine minutengenaue Ausführung garantiert; das OS entscheidet je nach Akku-Zustand.
  • CLI-Debugging: Über ADB und LLDB können Aufgaben sofort ausgelöst werden.

1. Code-Beispiel

import 'package:flutter/material.dart';
import 'package:workmanager/workmanager.dart';

@pragma('vm:entry-point')
void callbackDispatcher() {
  Workmanager().executeTask((taskName, inputData) async {
    return Future.value(true);
  });
}

Fazit

Die richtige Verwendung von WorkManager und Isolates sichert eine stabile Hintergrund-Synchronisation auf iOS und Android.