0

たとえば、データベース接続、スレッド化、または IO ストリーム (明示的な終了/解放が必要なすべて) を使用する場合、これを行う標準的な方法はありますか? おそらく、フレームワーク/クラスの消費者が私のクラスのこのリソースのクリーンアップロジックを呼び出すことができるように、いくつかの標準インターフェイスを実装することでしょうか?

.NET Frameworkアナログの経験がある人にとってはIDisposableインターフェースになるので、このインターフェースを実装することで、すべてのリソースクリーンアップロジックをDispose()メソッドに入れることができるので、クラスの消費者はクラスのインスタンスがインターフェースを実装しているかどうかを確認してから明示的IDisposableに呼び出すことができます。Dispose()

Androidにも何かが組み込まれていますか?

4

1 に答える 1

1

はい、サービスとアクティビティにはライフサイクルがあります。それらが「閉じられる」と、onDestroy() メソッドが呼び出されます。Android には複数のライフサイクル メソッドがあり、いつ何を使用するかを学ぶことは非常に重要です。これについては、次のページで説明されています。 http://developer.android.com/reference/android/app/Activity.html http://developer.android.com/reference/android/app/Service.html

これらの onDestroy() メソッドから、リソースを閉じる必要があります。クローズするリソースが多数ある場合は、onDestroy が呼び出されたときにリソースをループできるように、それらにインターフェイスを実装させ、これらのリソースをコレクションに格納することができます。

于 2011-12-20T16:44:07.493 に答える