またはSystem.gc()
を、アプリケーションクラスのonLowMemory()
メソッドの実動コードでメモリを消去する(手動ガーベジコレクション)に使用する必要がありますか?onLowMemoryメソッドでRuntime.gc()を呼び出す
答えて
メモリクリアのためには、両方のonLowMemory()
内側両方が同じで呼び出すことができます。 System.gc()
はRuntime.gc()
と事実上同等です。 System.gc()
は内部でRuntime.gc()
を呼び出します。
差異はSystem.gc()
は、Runtime.gc()
がインスタンスメソッドであるクラスメソッドです。だから、System.gc()
がより便利です。
あなたはそれを手に入れようと思います。 Javadocのから
また、 'System.gc()'を呼び出すと 'for(int i = 0; i <10; i ++){System.gc();と異なる結果が得られます。 } 'はします... – Shark
番号:
あなたは、あなたが上に保持することができる任意のキャッシュや他の不要なリソースを解放するために、このメソッドを実装する必要があります。このメソッドから戻った後、システムはガベージコレクションを実行します。
System.gc()
は、手作業でgcを使用する意味ではありませんが、ごみを拭き取るためのヒントです。 Object
にfinalize()
のようなこのメソッドを使用しない方が良いでしょう。どちらも保証はありません。 javadocのApplication
では、システムはこのメソッドから戻ってgcを実行し、適切な方法でそれを実行するように指定されていると述べました。
あなたが保持しているかもしれない不要なキャッシュやその他のキャッシュを解放するには、このメソッドを実装する必要があります。このメソッドから返された後、システムは あなたのためにガベージコレクションを実行します。
あなたは、このメソッドからの復帰後onLowMemory()
方法でSystem.gc()
を使用するときに、別のガベージコレクションの努力になります。 javadocのヒントから、キャッシュへのリンクが失われているのは、例えばList<Object> bigCache = null;
です。メソッドの終了は、キャッシュリストを取得してメモリを解放するガベージコレクションになります。
- 1. 他のオブジェクトからメソッドを呼び出すメソッド呼び出し
- 2. メソッド内でメソッドを呼び出すruby
- 3. Spring AOP @AfterThrowing - メソッドの詳細を呼び出すメソッドの呼び出し(メソッドを呼び出さない)
- 4. 1回の呼び出しでメソッドを呼び出す
- 5. 各メソッド呼び出しでjQueryがコンストラクタを呼び出す
- 6. ViewModelメソッドを呼び出す
- 7. Pythonメソッドを呼び出す
- 8. メソッドを呼び出すか?
- 9. メソッドを呼び出す、C#
- 10. Javaメソッドを呼び出す
- 11. メソッドを呼び出す
- 12. C#メソッドを呼び出す
- 13. メソッドを呼び出すボタンアクション
- 14. Pythonを呼び出すメソッド
- 15. voidメソッドを呼び出す
- 16. AnchorPointメソッドを呼び出す
- 17. C#でメソッド/呼び出しを別のメソッドから呼び出す方法は?
- 18. メソッド呼び出し
- 19. UITextViewを呼び出す方法addTargetメソッドを呼び出す
- 20. フラグメントonInfoWindowを呼び出すメソッドを呼び出す
- 21. foreachでクリーンコードでメソッドを呼び出す
- 22. 呼び出すメソッドは、オブジェクト
- 23. アプリケーションのメソッド呼び出しを呼び出す
- 24. IMethodのメソッド呼び出しを呼び出すCallHierarchy
- 25. Android :: Broadcasr Receiverクラスを呼び出すメソッドの呼び出し?
- 26. メソッドの呼び出しを呼び出すC#
- 27. Spring Kafka -Consumerが呼び出さないメソッドを呼び出す
- 28. ToList()メソッド呼び出し時にデータベースを呼び出す
- 29. 具体的なクラスのメソッド呼び出しを呼び出す
- 30. COPで "メソッド"を呼び出す
いいえ、原因の低いメモリ上のシステムは、すでにGCしようとした、あなたはAesSedai101質問@代わりに –
をリソースをクリアする必要があり、彼はそれらのいずれかを呼び出す必要があるかどうかではなく、これ。 – EJP
@ hemant-parmar誤解して申し訳ありませんが、私はRuntime.gc()(またはSystem.gc())を 'onLowMemory()'で使うべきかどうかを尋ねるつもりでした。 –