この記事でのバージョン
Unity 6000.1.11f1
はじめに
スマホアプリはメモリを使いすぎると重くなり、最悪クラッシュして強制終了することもあります。
ということで今回は、Unityでアプリを作ってる時にメモリ不足を検知する方法の紹介です!
![]() |
なお、スマホ(iOS,Android)用のため、PC(Mac,Windows)では機能しないようなのであしからず。
(ユニバーサルWindowsプラットフォームには対応している)
Application.lowMemory
メモリ不足を検知したい時は、Application.lowMemoryが使えます。
使い方は簡単、Application.lowMemoryに処理を設定するだけ。
private void Start(){ //メモリ不足検知設定 Application.lowMemory += OnLowMemory; } //メモリ不足時の処理 private void OnLowMemory(){ Debug.Log($"メモリ不足のため、不要なアセットをアンロードします。"); Resources.UnloadUnusedAssets(); GC.Collect(); }
なお、デバイスシュミレーターを使うことで、Unityエディタ上でもメモリ不足の挙動を確認出来ますが、
![]() |
その時に発生する処理はApplication.lowMemoryではなく、
Device.Application.lowMemoryなので、こちらを使うようにしましょう。
private void Start(){ //メモリ不足検知設定 Device.Application.lowMemory += OnLowMemory; } //メモリ不足時の処理 private void OnLowMemory(){ Debug.Log($"メモリ不足のため、不要なアセットをアンロードします。"); Resources.UnloadUnusedAssets(); GC.Collect(); }
![]() |
なお、Device.Applicationは、Device Simulatorを使ってない時は実際の端末の情報が取得出来ますし、
実機(リリースビルド)でもそのまま使えるので、基本的にはこれだけ使えばOKです。

