2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Android】onTrimMemoryについて

2
Last updated at Posted at 2026-02-22

概要

Androidアプリは、メモリが不足すると
システムからメモリ解放を促されるコールバックを受け取ります。

それが onTrimMemory() です。

onTrimMemoryとは?

onTrimMemory() は、
システムが「メモリが足りなくなってきたよ」と通知してくれるコールバックです。
Activity や Service、Application でオーバーライドできます。

override fun onTrimMemory(level: Int) {
    super.onTrimMemory(level)
    Log.d("Memory", "level = $level")
}

いつ呼ばれるか

  • 他アプリがメモリを使っている
  • バックグラウンドアプリが多い
  • 端末の空きメモリが減ってきた

つまり、まだ強制終了ではない段階で通知が来るのがポイントです

levelそれぞれの対応

TRIM_MEMORY_UI_HIDDEN

ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN

アプリのUIが完全に見えなくなったとき。
キャッシュ解放のベストタイミング


TRIM_MEMORY_RUNNING_LOW

アプリはフォアグラウンドだが、メモリが少なくなってきた状態。
→軽い解放を検討


TRIM_MEMORY_RUNNING_CRITICAL

かなり危険な状態。
→積極的にメモリを解放する


TRIM_MEMORY_BACKGROUND

バックグラウンドにあり、
システムがメモリを回収しようとしている状態。
→大きめのキャッシュを解放

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?