onDestroy()イベント時に、ライフサイクルでremoveObserverを呼び出す必要がありますか?

アンドロイド開発者

これは非常に単純な質問です。

バックグラウンド

いくつかのイベントをより簡単な方法で処理するために、比較的新しいライフサイクルクラスAndroidアーキテクチャコンポーネントライブラリの一部)を使用していますActivity/Fragment

これは、ON_DESTROYイベントを処理するために使用する方法です

            lifecycle.addObserver(object : LifecycleObserver {
                @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
                fun onDestroy() {
                    lifecycle.removeObserver(this)
                    //Do something
                }
            })

問題

ドキュメントとここで、呼び出すremoveObserver必要があるのか​​、ON_DESTROYイベント時に自動的に行われるのかがわかりません

私が試したこと

私はそれについて読んでみました、そして今のところ予防策として私はいつも電話しますremoveObserver

質問

呼び出しを避けるために、それは安全であるremoveObserver時にON_DESTROYイベント?

ラディ

このトピックに関連するgithubに関する一連の議論が1つあります。

私の知る限り、removeObserve明示的に呼び出す必要はありません

唯一の理由は、ライフサイクル対応コンポーネントが、このコールバックを確実にするように特別に設計されていることです。

聞くことができるリンクです、https://github.com/googlecodelabs/android-lifecycles/issues/5

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

角度のあるライフサイクルイベントは、インターフェイスを実装せずに呼び出しますか?

分類Dev

.NET-イベントを直接呼び出す必要がありますか?

分類Dev

コマンドラインからファイルを呼び出す必要があります

分類Dev

GoogleSignInAPIからサインアウトする前に、GoogleApiClient.connect()を呼び出す必要がありますか?

分類Dev

アプリの起動サイクル中に `registerUserNotificationSettings:`を呼び出す必要がありますか?

分類Dev

TypeScriptは、ES5のトランスパイル出力で `_super`を呼び出す前に` this`に割り当てる必要がありますか?

分類Dev

ObjectMapperはJSONファイルで提供されていない引数を持つコンストラクタを呼び出す必要があります

分類Dev

読み取り可能なイベントハンドラー内でreadable.read()を繰り返し呼び出す必要がありますか?

分類Dev

私はREACTを初めて使用します。ボタンをクリックすると、別のファイルからソートクラスコンポーネント内にある関数resetArrayを呼び出す必要があります。

分類Dev

コンパイル時に、指定されたパラメータータイプのセットでジェネリックラムダを正常に呼び出すことができるかどうかを検出する方法はありますか?

分類Dev

ライフサイクルのどの時点で小道具を変更する必要がありますか?

分類Dev

DownloadCacheを使用する前に、ファイルプラグインでEnsureLoadedを呼び出す必要があります

分類Dev

onDestroyの後、ライフサイクルコールバックが再度呼び出されます

分類Dev

サイクルアクションハンドラーの呼び出しを防ぐ必要がありますか

分類Dev

フラグメントのライフサイクル-表示/非表示時にどのメソッドが呼び出されますか?

分類Dev

Angular4-setTimeout呼び出しのサブスクライブを解除する必要がありますか?

分類Dev

イベントリスナー関数をバインドします。後で関数を呼び出す必要がありますか?

分類Dev

AJAX関数はそれらを呼び出す同じファイルにある必要がありますか?

分類Dev

画面が表示されたときに呼び出されるライフサイクルイベントはどれですか?

分類Dev

TypeError:djangoのviews.pyファイルにスケジューラーをインポートするときに最初の引数を呼び出すことができる必要がありますか?

分類Dev

すべてのノードのJSファイルでdotenvを呼び出す必要がありますか?

分類Dev

removeObserverを2回呼び出す必要があります

分類Dev

Flaskvirtualenv-Ubuntuに `pip`経由でインストールするときに` sudo`を呼び出す必要がありますか?

分類Dev

Pythonでファイルハンドラーのflushメソッドを呼び出す必要がありますか

分類Dev

この状況では、flush()(JPAインターフェース)を呼び出す必要がありますか?

分類Dev

onActivityCreatedはフラグメントのライフサイクルでいつ呼び出されますか?

分類Dev

API呼び出しなどのネットワーク関連タスクは、アクティビティライフサイクルのどこに配置する必要がありますか?

分類Dev

Kotlinのファクトリクラスに対して必要な関数が呼び出されているかどうかをコンパイル時に確認することはできますか?

分類Dev

コンストラクターで常にこれを呼び出す必要がありますか?

Related 関連記事

  1. 1

    角度のあるライフサイクルイベントは、インターフェイスを実装せずに呼び出しますか?

  2. 2

    .NET-イベントを直接呼び出す必要がありますか?

  3. 3

    コマンドラインからファイルを呼び出す必要があります

  4. 4

    GoogleSignInAPIからサインアウトする前に、GoogleApiClient.connect()を呼び出す必要がありますか?

  5. 5

    アプリの起動サイクル中に `registerUserNotificationSettings:`を呼び出す必要がありますか?

  6. 6

    TypeScriptは、ES5のトランスパイル出力で `_super`を呼び出す前に` this`に割り当てる必要がありますか?

  7. 7

    ObjectMapperはJSONファイルで提供されていない引数を持つコンストラクタを呼び出す必要があります

  8. 8

    読み取り可能なイベントハンドラー内でreadable.read()を繰り返し呼び出す必要がありますか?

  9. 9

    私はREACTを初めて使用します。ボタンをクリックすると、別のファイルからソートクラスコンポーネント内にある関数resetArrayを呼び出す必要があります。

  10. 10

    コンパイル時に、指定されたパラメータータイプのセットでジェネリックラムダを正常に呼び出すことができるかどうかを検出する方法はありますか?

  11. 11

    ライフサイクルのどの時点で小道具を変更する必要がありますか?

  12. 12

    DownloadCacheを使用する前に、ファイルプラグインでEnsureLoadedを呼び出す必要があります

  13. 13

    onDestroyの後、ライフサイクルコールバックが再度呼び出されます

  14. 14

    サイクルアクションハンドラーの呼び出しを防ぐ必要がありますか

  15. 15

    フラグメントのライフサイクル-表示/非表示時にどのメソッドが呼び出されますか?

  16. 16

    Angular4-setTimeout呼び出しのサブスクライブを解除する必要がありますか?

  17. 17

    イベントリスナー関数をバインドします。後で関数を呼び出す必要がありますか?

  18. 18

    AJAX関数はそれらを呼び出す同じファイルにある必要がありますか?

  19. 19

    画面が表示されたときに呼び出されるライフサイクルイベントはどれですか?

  20. 20

    TypeError:djangoのviews.pyファイルにスケジューラーをインポートするときに最初の引数を呼び出すことができる必要がありますか?

  21. 21

    すべてのノードのJSファイルでdotenvを呼び出す必要がありますか?

  22. 22

    removeObserverを2回呼び出す必要があります

  23. 23

    Flaskvirtualenv-Ubuntuに `pip`経由でインストールするときに` sudo`を呼び出す必要がありますか?

  24. 24

    Pythonでファイルハンドラーのflushメソッドを呼び出す必要がありますか

  25. 25

    この状況では、flush()(JPAインターフェース)を呼び出す必要がありますか?

  26. 26

    onActivityCreatedはフラグメントのライフサイクルでいつ呼び出されますか?

  27. 27

    API呼び出しなどのネットワーク関連タスクは、アクティビティライフサイクルのどこに配置する必要がありますか?

  28. 28

    Kotlinのファクトリクラスに対して必要な関数が呼び出されているかどうかをコンパイル時に確認することはできますか?

  29. 29

    コンストラクターで常にこれを呼び出す必要がありますか?

ホットタグ

アーカイブ