これはgetApplicationContext()
またはこれよりも効率的です(アクティビティを拡張します)?どうして?アンドロイドでContextを使う方が効率的ですか?
答えて
あり、効率の面では差が私の知る限りではありません(とがある場合、それは無視する必要があります)話しているか知っているだろう。 getApplicationContext()
が導入された理由は、メモリリークを避けるためです。
たとえば、長い生きたオブジェクトに文脈としてActivity
を渡して、このオブジェクトが生涯にわたってこのコンテキストを保持しようとすると、問題が発生します。たとえば、構成が変更された場合、またはアクティビティーが破棄された場合、アクティビティーはデッド(コンポーネント)と見なされます。しかし、この古いActivity
オブジェクトへの参照が少なくとも1つあるため、ガベージコレクタによってクリーンアップされることはありません。
したがって、長い時間のコンテキストを保存する必要がある場合は、直接コンテキストを保存する代わりにcontext.getApplicationContext()
を使用する必要があります。また、プロセスが実行されている間は、Applicationオブジェクトは常に「生きている」とみなされるため、メモリ/リソースのリークはありません。
getApplicationContext()
を使用すると、アプリケーション全体の主要なコンテキストであるため、実行しているすべてのアクティビティのコンテキストのインスタンスではなく、より効率的です。
これを読んで:http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html、その後、約
仮想メソッド呼び出し(なぜ[別の仮想メソッドを呼び出す])(http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.3.4_r1/android /content/ContextWrapper.java#ContextWrapper.getApplicationContext%28%29))既存の 'this'参照を引数として渡すよりも安くなるでしょうか? –
これを読んでください:http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html、それからあなたは何について話しているか知っています –
- 1. アンドロイドでproguardを使用する効率的な方法
- 2. 複数のif文を使う方が効率的ですか?
- 3. Java:GraphicsでsetClipを使用する方が効率的ですか?
- 4. mutexの方が効率的ですか?
- 5. 効率的な実装 - アンドロイド
- 6. アレイリストを使用する方が効率的ですか?
- 7. Celeryはローカルシステムで効率的ですが、Pythonのマルチプロセッシングは効率的ですか?
- 8. WPFでデータバインディングが効率的ですか?
- 9. パンダ - 効率的な方法ですか?
- 10. Calendar.getInstance()を効率的に呼び出すことが効率的ですか?
- 11. MongoDBコレクション - どちらの方が効率的でしょうか?
- 12. 効率的かつ最適化された方法は、アンドロイドでAPI呼び出しを行う方法です
- 13. なぜmatplotlib.collectionsが効率的ですか?
- 14. WPF/XAMLでトリガーを使用する方が効率的ですか?
- 15. オブジェクトデータストリームまたはプリミティブデータストリームをJavaで使用する方が効率的ですか?
- 16. 効率的な方法が
- 17. インデックスでソートするのが効率的でしょうか
- 18. ローカルワークシートのデータをコピーする方が効率的ですか?
- 19. SpringでPreparedStatementSetterとPreparedStatementCreatorの方が効率的ですか?
- 20. 分岐後に関数の引数を使う方が効率的です(Python)?
- 21. LibGDXで静的アニメーションを効率的に行う方法は?
- 22. Javaで効率的にする方法
- 23. MemcacheやBlobstoreを使用する方が高速/効率的/安価ですか?
- 24. アンドロイド開発でテキストとメディアを保存する最も効率的な方法
- 25. OSMBonusPackでKMLを効率的に使用
- 26. String.SplitよりもString.Substringの方が効率的ですか?
- 27. C#の連想マトリックスの方が効率的ですか?
- 28. 2つのクエリの方が効率的ですか?
- 29. LINQの任意の方法が効率的ですか?
- 30. このLINQの方が効率的ですか?
タイトルを変更してください。それはあなたの問題を正確に説明するものではありません。 –
なぜ気になりますか?プロファイリングの前にこのプロファイリングをプロファイリングしたり質問したりするときに、あなたが違いを見られるのは間違いないと思う(http://c2.com/cgi/wiki?PrematureOptimization)。 –