問題タブ [ondestroy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1957 参照

android - Android: onDestroy() メソッドのステートメントの順序

画面が回転したときにビットマップをリサイクルするためにメイン アクティビティの onDestroy() メソッドをオーバーライドする場合、myBitmap.recycle() の前または後に super.onDestroy() を呼び出す必要がありますか? それは問題ですか?

0 投票する
3 に答える
78092 参照

android - アクティビティOnDestroyは呼び出されませんでしたか?

ListActivityで次のコードを使用しています

onDestroy誰かが私のコードでメソッドが呼び出されない理由を教えてくれますか?

0 投票する
1 に答える
5029 参照

android - Android-onDestroyは、アクティビティとその変数を破棄し、メモリを解放することになっています

コードにバグがあり、Androidのライフサイクルを完全に理解していないと思いました。はい、私はすべてのドキュメントを読み、図を見ましたが、アクティビティがフォーカスを失ったり、殺されたりする可能性がある場合、データを保存するタイミングについてのみ話しているようです。ただし、私の質問は、状態を保存する必要がない場合、変数とその格納された値はどうなりますか?私はそれらが破壊されることを期待していましたが、私のコードのバグはそうではないことを示しているようです。

私の場合、ここで何が起こったのかです。カスタムビューを起動するアクティビティがあります(xmlは使用せず、カスタムビューの画面にビットマップを描画するだけです)。私が現在アクティビティに持っている唯一の変数は、私のビューの変数です。GameView gameView;

私の見解では、いくつかのビットマップ、描画およびタッチイベントを処理するための単純なintおよびfloat変数を宣言し、小さなビットマップ、各オブジェクトの座標、およびその他のいくつかを含むオブジェクトの1つの配列があります。このオブジェクトのクラスの変数の1つは、オブジェクトの数の現在の数を表す静的変数です。私はこの方法でそれを行ったので、オブジェクトのインスタンス化により、オブジェクトのクラスの外でこれを追跡するのではなく、オブジェクトがどのように人間のオブジェクトであるかを追跡します。

静的変数はすべてのオブジェクトで同じ値を維持することを期待していましたが、onDestroyedがそのアクティビティに対して呼び出されると、この変数が他のすべての変数およびそのアクティビティのビューのオブジェクトとともに破棄されることも期待していました。しかし、それは起こらないようです。このアクティビティが再度起動されると、onDestroyedが呼び出された場合でも、この静的変数には前回の実行からの以前の値が含まれます。

今私の質問はこれを修正する方法ではありません(このバグを修正するために別の方法でコードを書くことができます)が、アプリケーション全体に対してグローバルではなく、内部にのみ存在するため、この静的変数でこれが発生する理由を理解したいと思いますそのアクティビティのビュー?また、これにより、そのビューの残りの変数について疑問に思います-それらは破壊されてメモリが解放されますか、少なくとも次にアクティビティが呼び出されたときにそれらの値は使用できなくなりますか、それとも自分でこれを行う必要がありますか?この状態データを保存する必要はありませんでしたか?

これについての洞察に感謝します。

0 投票する
1 に答える
178 参照

ruby-on-rails-3 - Ruby On Rails: 別のテーブル エントリに関連付けられているテーブル エントリが破棄されたときに確認を求める

次の問題についてサポートをお願いします。

それ自体に自己関連付けられているグループのテーブルがあるため、各グループは (オプションで) 階層的に別のグループにリンクされます。グループ エントリを破棄する前に、子グループがあるかどうかを何らかの方法でチェックし、ユーザーに確認を求めるか、子グループも削除するかどうかを確認するコードを書きたいと考えています。

コールバックを見てきましたが、ビューでエンド ユーザーに確認要求を取得し、モデルのコールバックに応答を返す方法がわかりません。

ありがとう

0 投票する
1 に答える
4265 参照

android - プログラムの終了時にメソッドを呼び出す - onDestroy は信頼できない

戻るボタンを押してプログラムを終了したときに、いくつかの機能を実行したい。これは、1 つを除くすべてのケースで機能する onDestroy() によって実行されるようになりました。プログラムの終了時に別のアクティビティから戻る場合、onDestroy は呼び出されません。

理論的には、メモリ不足のために Android がアプリを閉じるときにのみ onDestroy を呼び出す必要があることはわかっていますが、私にとっては、onDestroy は常に機能し、非常に特殊な場合にのみ機能しません。

Using onPause or onStop does not work because I only want to call the function when the program is exited but not when just another activity is called.

So is the last way to catch the back-button-click and call the function there? Or is there any other solution?

0 投票する
4 に答える
11427 参照

android - アクティビティからサービスにパラメータを渡す方法...ユーザーがサービスを停止したとき

チェックボックスのあるアクティビティがあります。チェックボックスがオフになっている場合は、サービスを停止してください。これは私のアクティビティコードのスニペットです:

サービスを停止するときは、パラメータ「user_stop」を渡して、システムではなくユーザーがサービスを停止したことを示します(メモリ不足の場合)。

ここで、サービスのvoidonDestroyにある変数「user_stop」を読み取る必要があります。

しかし、それは機能しません!onDestroyでgetIntent()を使用できません!

なにか提案を?

ありがとう

シモーネ

0 投票する
3 に答える
14736 参照

android - 強制終了されたサービスを自動的に再起動する方法は?

サービスが強制終了された場合、それを自動的に再起動する方法は?

時には電話もせずにonDestroy()

0 投票する
1 に答える
1454 参照

android - onPause の後に onDestroy が呼び出されるかどうかを区別する方法

onDestroy()の後に呼び出されるかどうかを区別する方法はありますonPause()か? 5月のアクティビティでは、アクティビティがフォーカスを失ったときとアクティビティがダウンしているときに別のアクションを実行する必要がありますが、アクティビティがダウンするonPause()前に呼び出されたときでも、アクティビティがフォーカスを失ったときとダウンしているときにonDestroy()別のアクションを実行したい呼ばれた。onPause()onDestroy()

0 投票する
1 に答える
1926 参照

delphi - Delphi フレームの破棄/非表示

こんにちは

フォームとして機能する複数のフレームを持つアプリケーションがあります。

ユーザーが特定のフレームから移動したときに削除する必要がある一時ファイルがあり、現在、[OK] または [キャンセル] を押すとファイルを削除します。

彼らがアプリケーションを閉じるだけの場合、一時ファイルも削除したいのですが、フレームがいつ破棄されるかを判断できません。

よろしく、ピーター

0 投票する
2 に答える
28274 参照

android - onDestroy() は正確に何を破壊しますか?

私はこの「特性」に悩まされてきました: 戻るボタンを使用してアプリを終了すると、onDestroy() が呼び出されたことがわかりますが、次回アプリを実行すると、Activity クラスのすべての静的メンバーがまだ保持されます。値。以下のコードを参照してください。

}

上記のコードは、残りの値を mValue に表示し、セッションが終了すると増加するため、onDestroy() が呼び出されたことを確認できます。

このフォーラムで役立つ回答を見つけました。上記のコードでは、mValue がインスタンス メンバーではなくクラス メンバーであることを理解しています。しかし、この特定のケースでは、HelloAndroid アクティビティが 1 つしかないので、彼が死ぬとすべてがクリーンアップされ、次に戻ってきたときにすべてが最初からやり直されるというのは本当ではないでしょうか? (または、システム内に、 onDestroy() の後にまだそれを保持していて、それが死なないようにしている他の不思議なものがありますか???)

(上記は単なる変数です。オブジェクト参照の束である場合はどうなるでしょうか?各ピースは個別に再収集可能なメモリです。GC がそれらの一部を収集する可能性はありますが、すべてかゼロかではありませんか?これは本当に私を悩ませます. )