問題タブ [activity-lifecycle]
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.
android - アクティビティが通知から直接開始されたときに Android バックスタックを構築するにはどうすればよいですか?
私には2つの活動があります:
アクティビティ A - アイテムのリスト
アクティビティ B - アイテムの詳細ビュー
通常、ユーザーがアプリを開くと、アクティビティ A が起動します。ユーザーがアイテムのリストを表示し、1 つをクリックすると、アクティビティ B が開始されてアイテムの詳細が表示されます。
アクティビティ B は、通知をクリックして直接開始することもできます。この場合、バックスタックはありません。
アクティビティ B が通知から直接開始されたときに、ユーザーが [戻る] ボタンをクリックしてアクティビティ A に移動できるようにするにはどうすればよいですか?
android - アクティビティが一時停止すると、タイマー機能は自動的に停止しますか?
毎分、分単位で関数を実行させるタイマーがあります。アクティビティが一時停止されても、タイマーは引き続き実行されます。不要なので実行したくありません。
一時停止時に実行される場合、どうすれば防止できますか?
メル。
onCreate() で私は持っています
クラス内 (onCreate() の外側) には次のものがあります。
android - savedInstanceStateが実際に使用されるのはいつですか?
私はAndroidを初めて使用しますが、savedInstanceStateとライフサイクルの管理に問題があります。
http://developer.android.com/guide/topics/fundamentals/activities.html#Lifecycle ライフサイクルに関する記事を読みましたが、プロセスがいつ終了するかはよくわかりません。私の素敵なsavedInstanceSateが使用されます。「HOME」を押すことはできますが、「onPause」、「onResume」の順に起動するだけだと思います。
[メニュー]->[設定]->[アプリケーション]->[アプリケーションの管理]->[アプリケーション名]->[強制停止]に移動すると、実行中のアプリとして表示されますが、再起動すると「最初のアクティビティ」に戻ります。つまり、アプリケーションを閉じるようなものであり、よく理解していれば、私が望むように「プロセスを強制終了する」ことではありません。
だからここに私の質問があります:
1)プロセスが強制終了されたことを確認するにはどうすればよいですか(再起動時にアプリがsavedIntanceStateを使用するように)?
2)savedInstanceStateが適切にプログラムされているかどうかをテストするために、プロセスを強制的に強制終了するにはどうすればよいですか?
3)「強制終了」された後、アプリが再起動され、「onCreate」が呼び出された場合(その時点でsavedInstanceState!= nullを使用)、アクティビティを呼び出したときに提供したIntentExtra情報にアクセスできますか。プロセスが強制終了されたときにインテントの情報が削除されましたか?言い換えると、saveInstanceStateに、Intent Extraに保存されているもののコピーを含める必要がありますか?
私は十分に明確であることを願っています;)
android - Android: メイン アクティビティの問題に戻る
私の主なアクティビティにはメニューがあり、メニューオプションが選択されるとインテントが作成され、新しいアクティビティが開始されます。そのアクティビティが完了すると、ActivityLifeCycle に従って、プロセスはメイン アクティビティとその以前のすべての状態に戻る必要があります。
メイン アクティビティに戻ると、何もアクセスできず、画面が暗くなることに気付きました。メニュー ソフトキーを押したときだけ、期待どおりの状態に戻ることができます。
以前にこの問題を経験した人はいますか? フィードバックをいただければ幸いです。以下のコードサンプル:
android - Androidの戻るボタン/戻るキーはどのアクションをトリガーしますか?
私は本当に混乱しています。戻るボタンを読みました
onPause()は正しいはずだと思います。ただし、アクティビティがバックグラウンドに入るため、これは副作用です。ドキュメントには何も見つかりませんでした。しかし、多分私は何かを見落としています。
誰かがプログラムで戻るボタンが何をすることになっているのか説明してもらえますか?いくつかの参考文献もいいでしょう。:-)
android - アクティビティのライフサイクル - 向きを変えるたびに onCreate が呼び出される
にビットマップをロードする単純なアクティビティがありますonCreate
。デバイスを回転させると、再度呼び出されたログから確認できることがわかりましたonCreate
。実際、すべてのインスタンス変数が再びデフォルト値に設定されているため、Activity 全体が再インスタンス化されていることがわかります。
ビットマップに十分なメモリを割り当てることができないため、2回回転した後、FCを取得します。(アクティビティのすべてのインスタンスはどこかでまだ生きていますか? または、GC のクリーンアップが十分に高速ではありませんか?)
私が読んだすべてから、 onCreate はアプリケーションの存続期間中に一度呼び出される必要があります。私はこれについて間違っていますか?デバイスの向きを変えると、どのようにアクティビティが再作成される可能性がありますか?
android - クライアントのプロセスが Android によって強制終了された場合、Android サービス接続をリークしますか?
状態:とbindService()
で
を呼び出すリモート サービス (AIDL を使用) のクライアント アクティビティ "X" があります。このアクティビティは開始されましたが、フォアグラウンドでは開始されていないとします (発生)。onCreate()
unbindService()
onDestroy()
onStop()
Android システムが他の場所でより多くのメモリを必要とする場合、優先度の低い別のアクティビティ (おそらく "X") のプロセスを強制終了する可能性があると言われています。
Androidシステムが「X」のプロセスを強制終了することを決定した場合、アクティビティライフサイクル図によると、onDestroy()
より多くのメモリが必要なときにプロセスが強制終了された場合、 は呼び出されません。
http://developer.android.com/guide/topics/fundamentals/activities.html
質問:
これにより、サービス接続がリークすることはありますか? onStart()
andでサービスをバインドおよびバインド解除する方が安全onStop()
ですか?
前もって感謝します!
android - Android VoiceRecognition onActivityResult
VoiceRecognitionで制御する必要のある簡単なクイズを実装しようとしています。1つのQuestionActivityと1つのAnswerActivityをアクティビティする必要があります。QuestionActivityでは、質問がTextToSpeechによって読み取られ、その後、ユーザーはVoiceRecognitionアクティビティに回答できます。次に、AnswerActivityはstartActivityForResult(...)によって開始されます。これは、VoiceRecognitionを使用して、ユーザーが次の質問に戻ることができるようにします。ただし、ユーザーが2番目の質問に戻った場合、不明なエラーのためにVoiceRecognizerは機能しません。以下のサンプルコードを参照してください。
パブリッククラスAnswerActivityはActivityを拡張し、OnInitListener、OnUtteranceCompletedListener{を実装します。
}
}
VoiceRecognitionを実行するには、QuestionActivity全体を常に再起動する必要がありますか?ゲーム中、ユーザーはQuestion-とAnswerActivityの間を循環するだけで、アクティビティを単にfinish()-するよりも良い方法がありますか?
android - アクティビティから戻った後に ListView が消える
リストビュー「ListView画面」にレコードをリストする2つの画面と 、特定のレコードを表示するために使用される「特定のレコード画面」の2つの画面があります。リストビューの行のデータを保持するために使用される grid_item.xml を使用しています。grid_item.xml は以下のとおりです。
クリックすると「特定の記録画面」を開くために使用される ImageView があります。「ClickHandlerForEditImage」イベントをそのイメージビューに添付しました (上記の xml の最後の数行を参照)。
コード:
問題は、正常に動作し、「特定のレコード画面」が開かれることですが、「戻るボタン」を押すと「ListView画面」が表示されますが、ListView(またはListViewアイテム)が消えます。
誰か助けてくれませんか。貴重なお時間とご協力に感謝いたします。
android - 活動ライフサイクルの混乱
活動のライフサイクルは多くの場所で文書化されていますが、必要なものが見つかりませんでした。これは私のアクティビティです。コンストラクターとonCreateメソッドがあります。私のプロジェクトでは、このメソッドにもログインしており、縦向きから横向きに移動するたびに、両方のメソッドが実行されていることがわかります。なぜ私のコンストラクターが呼ばれるのですか?はスタック内のアクティビティではなく、アクティビティのインスタンスはメモリ内にあるため、構成の変更が発生した場合は、oncreateとonretainistancestateのみが発生する必要があります(もちろんonResume)。コンストラクターが毎回呼び出されるのはなぜですか?構成から何かが変更されるたびに、両方のメソッドが呼び出されることが保証されます(この同じシーケンスで次々に)。
サンプルアプリで遊んでいましたが、詳細を知りたいのですが、コンストラクターが含まれている場合のシナリオを誰かに教えてもらえますか?ライフサイクルに関するドキュメントをたくさん作成しましたが、コンストラクターが含まれている場合の詳細は説明されていません。
編集1:ウィッチにスタックがあることをいくつかの場所で読んだので、次にアクティビティが起動してより速く実行されるときにアクティビティが入れられますが、構成が変更された場合はどうなりますか?コンストラクターとoncreateメソッドを呼び出す必要がありますか?