Version: 2020.3

MonoBehaviour.OnApplicationQuit()

切换到手册

描述

Sent to all GameObjects before the application quits.

In the Editor, Unity calls this message when playmode is stopped.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void OnApplicationQuit() { Debug.Log("Application ending after " + Time.time + " seconds"); } }

Note: iOS applications are usually suspended and do not quit. For iOS builds, enable the "Exit on Suspend" property in Player Settings to make the application quit and not suspend, otherwise you might not see this call. If you do not enable the "Exit on Suspend" property then you will see calls to OnApplicationPause instead.

On Windows Store Apps and Windows Phone 8.1 there is no application quit event. Use the OnApplicationFocus event when focusStatus equals false.
On WebGL it is not possible to implement OnApplicationQuit because of the way browser tabs close. For a workaround, see the Unity User Manual documentation on Interacting with browser scripting in WebGL.

Warning: If the user suspends your application on a mobile platform, the operating system can quit the application to free up resources. In this case, depending on the operating system, Unity might be unable to call this method. On mobile platforms, it is best practice to not rely on this method to save the state of your application. Instead, consider every loss of application focus as the exit of the application and use MonoBehaviour.OnApplicationFocus to save any data.