restart_app uses different mechanisms because Flutter targets do not expose the same restart primitives.

Choose a mode

Use RestartMode.platformDefault unless your app has a reason to request a specific behavior.
Use RestartMode.process when you explicitly want a full process relaunch on platforms that support it. Use RestartMode.flutterEngine on iOS when the host app has configured engine restart. Use RestartMode.notificationFallback only when the iOS user-tap relaunch tradeoff is acceptable.