0

私のアンドロイドアプリには、実行したいすべてのオリエンテーションが変更されたときに再起動しないGoogle Tangoサービスインターフェイスのインスタンスがあります。Androidのオリエンテーションでタンゴインスタンスを保持する変更

コンストラクタは次のようになります。Tangoインスタンスをコンテキストとして最初の活動への参照を保持し、これは、メモリリークにつながるので、私は、そのインスタンスを保持Fragmentを使用することはできません

Tango(Context context, java.lang.Runnable runOnTangoReady)

。 Googleドキュメントから :

注意:任意のオブジェクトを格納することができますが、あなたは、このようなDrawableの、アダプター、ビューまたは関連しています他のオブジェクトとして、活動に結び付けられているオブジェクトを渡すことはありませんコンテキストを使って

android:configChangesを使用せずに、オリエンテーションを変更してもサービスを継続するようお勧めする方法はありますか?

なぜTangoにはContextが必要ですか?ビューではなく、UIで直接描画していないのはなぜですか?

ありがとうございました!

答えて

2

Tangoインスタンスをアプリケーションコンテキストでインスタンス化すると、コンテキストの漏洩を防ぐことができます。

Context.getApplicationContext()

戻り、現在のプロセスの単一のグローバルApplicationオブジェクトのコンテキスト。これは、現在のコンテキストではなく、現在のコンポーネントではなくプロセスのライフタイムに関係するライフサイクルを持つコンテキストが必要な場合にのみ使用します。

関連する問題