2017-03-23 9 views
1

アプリケーションとアクティビティのonTrimMemoryを上書きするメリットとデメリットは何ですか? Androidのドキュメントは、アプリケーションとアクティビティの両方のonTrimMemoryでまったく同じように見えます。両方ともバックグラウンドで呼び出されているようです。アプリケーションとアクティビティのonTrimMemoryのオーバーライド

私がActivityでonTrimMemoryを実装していて、アプリケーションがバックグラウンドで、アクティビティonDestroyが呼び出された場合は、それ以降はonTrimMemoryを呼び出すことができますか?

上記の場合、onTrimMemoryがアクティビティに対して呼び出されない場合、アプリケーションのキャッシュをトリミングしたい場合は、アプリケーションにonTrimMemoryを配置する必要がありますか?

答えて

1

あなたはをトリミングしたいメモリを保持をもとにApplicationonTrimMemory(int)またはActivity(または他のコンポーネント)をオーバーライドする必要があります。メモリを担当するクラスは、トリミングを行う必要があります。

コールバックのメカニズムは次のとおりです。システムはApplication.onTrimMemory(int)を呼び出して、アプリケーションのコンポーネントで同じコールバックを呼び出します。コールバックはどこに呼び出されるべきですか(私はそれがActivity.onDestroy()の後になるのではないかと疑います。上書きするかどうかの決定は、アクティビティのライフサイクルの影響を受けてはなりません。

メモリがアプリケーションに属している場合は、それを処理します。それがアクティビティのみに属する場合は、そのアクティビティに処理します。

関連する問題