2017-02-06 7 views
0

を拡張:AndroidのThreadPoolクラスは、私は、マルチスレッドに新しいですが、私は疑問を持っているアプリケーション

、それはアプリケーションを拡張するクラスを持っていると宣言するのは良いpraticeだ/ INITがそのスレッドプールのカスタムはどのからづけしになります他の活動/断片?

また、すべてのアプリのスレッドプールを1か所に宣言する方法はありますか?

おかげ

+0

"すべてのアプリケーション"はアプリケーションを拡張するクラスで表されるため、アプリケーションに共通のものはすべて自然なものです。スレッドプールを含む。 –

答えて

0

私はこの事のための経験則があると思いますが、Androidのドキュメントのように、ここでこのことについて述べていません:https://developer.android.com/training/multiple-threads/create-threadpool.html#ClassStructure、あなたが取得して使用する静的インスタンスを持つクラスを使用する必要がありますあなたが必要とするすべてのアクティビティのThreadPool。

+0

可能な限り、静的変数は避けるべきです。 Thayは定数だけに適しています。アプリケーションサブクラスにスレッドプールを配置する方が良い方法です。 –

+0

この特別なケースではなく、静的なThreadPoolは本当に便利です。なぜなら、アプリケーションのどこからでもアクセスでき、Contextアクティビティが必要でない(そしてそうでなければならない)ため、いくつかの隠されたメモリリークが発生するからです。カスタムアプリケーションクラスに静的なThreadPoolを置くと、静的なThreadPoolインスタンスよりも利点はありません。汎用タスクにThreadPoolを使用せず、特定のものを作成するべきであるからです。 – MatPag

+0

サービスに入れるとどうなりますか?私は、この新しいサービスを使用して新しいオープンアクティビティをバインドし、スレッドプールを使用します。それはさらにいいです ?私の基本的な質問にはベストプラクティスがありますか?ありがとう –

関連する問題