Unity5.4.4f1でビルドしたアプリをサスペンドした状態で長時間放置してから
レジュームしてみたところ、OnApplicationPause
が2回連続で呼び出される現象に遭遇した
アプリのサスペンド・レジューム時に1度だけ呼び出される処理を実装したい場合は
下記のようにフラグを用いたほうが安全
private bool m_isSuspended; private void OnApplicationPause( bool isPause ) { if ( isPause ) { OnSuspend(); } else { OnResume(); } } private void OnSuspend() { if ( m_isSuspended ) return; m_isSuspended = true; ... } private void OnResume() { if ( !m_isSuspended ) return; m_isSuspended = false; ... }