Restart.restartApp() needs no arguments for the default behavior on each platform. iOS apps must first configure engine restart. Pass an option only when you need to change that behavior. Platform-specific options have no effect on other platforms.

Saved data

A restart does not erase preferences, files, or databases. If your app has unsaved edits, save them through its usual storage API and await the write before calling Restart.restartApp(). The package does not save app state for you. Follow your storage API’s commit or flush requirements for data that must survive process exit.

Web destination

To reload at a particular hash route, use this call from an async app action:
A hash-only value changes the URL fragment and reloads. Full and relative URLs replace the browser history entry; a destination in the same document also forces a reload. Relative URLs resolve against document.baseURI, including any <base href> element. See web destinations for the complete URL and history behavior. If you choose a different path, configure your server to serve the Flutter app there. Save and await any required data before the browser navigates.

Android process restart

Use this call when you need to end the Android process as part of the restart:
The default Android behavior only relaunches the activity. It does not terminate the process unless forceKill is true. For notification permission, exit behavior, and user interaction on iOS, see notification fallback.