問題タブ [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 - 再開した後、同じアクティビティインスタンスに戻るにはどうすればよいですか?
問題はやや奇妙で、今から約1日それを理解しようとした後、ここに投稿します。アクティビティA(メインアクティビティ)が他のアクティビティ(B、C、またはD)を起動するアプリケーションがあります。ここでの問題は、アクティビティAがアクティビティBを開始し、「ホーム」ボタンが押されたときに発生します。
ケース1-「ホーム」ボタンを押した後、デバイス(HTC Desire)でアプリケーションをデバッグモードでテストすると、アプリケーションアイコンをもう一度クリックすると、同じアクティビティ(アクティビティB)に戻ります。これを実行する必要があります。 。ここでは問題はありません。
ケース2-署名されたパッケージをエクスポートし、同じデバイスにアプリケーションをインストールする場合、[ホーム]ボタンを押した後にアプリケーションアイコンをクリックすると、アクティビティA(メインアクティビティ)の新しいインスタンスがONTOPで起動されますそのアクティビティから「戻る」を押すと、アクティビティBに戻り、「戻る」を押すと、アクティビティAが再び表示されるため、これを知ることができました。
アプリケーションが開始されたのと同じ順序で終了した場合、つまり、アクティビティBから「戻る」を押してからアクティビティA(終了)から「戻る」を押すと、動作は存在しなくなります。
この後、すべてが正常に実行されます。さまざまな設定で何度もテストしましたが、なぜこのような動作になるのか理解できないようです。
どんな助けでも大歓迎です。
android - プロセスが強制終了された後に onActivityResult が呼び出されない
メイン アクティビティ (Main) と、Main から呼び出される別のアクティビティ (Sub) があります。
Sub でプロセスを強制終了し (タスク マネージャーまたは を使用adb shell kill <pid>
)、アプリケーションを再度開くと、すぐに Sub に移動します。
Sub には、Main アクティビティにコールバックする次のコードがあります。
プロセスを強制終了しなければ、requestCode (25)、resultCode (RESULT_OK)、およびデータを受け取っていたはずonActivityResult
です。ただし、この場合、メイン アクティビティに移動しますが、onActivityResult
呼び出されません。
これは Android の仕組みですか (私は期待していません)、それとも私のアプローチに何か問題がありますか?
更新: これは私の Nexus One、CyanogenMod 7.0.2、Android 2.3.3 で発生しました。エミュレータ API 10、Android 2.3.4 を使用してみましたが、期待どおりに動作onActivityResult
し、プロセスを強制終了した後も呼び出されます。
android - Android MediaPlayer の状態の変化
私は Android にかなり慣れていないので、これがばかげた質問ではないことを願っていますが、MediaPlayer で状態の変更を処理するのに問題があります。メディアプレーヤーは画面上で正常に動作し、画面が表示されていない間もサウンドを再生し続けますが、アクティビティに戻ってメディアプレーヤーを停止しようとしても停止しません。onPause と onResume で保存して復元できる mp から streamID を取得する方法がわかりません。私が見逃している単純なものがあるに違いありません。ここに私がこれまでに持っているもののいくつかのスニペットがあります:
}
android - アクティビティメソッドの使用
誰かが次のアクティビティメソッドの使用法をきちんと説明できますか?
onStart
onResume
onPause
onStop
onDestroy
onRestart
これらはAndroidでプログラミングするときに知っておくべき基本的な方法です。しかし率直に言って、私はこれらのメソッドをアプリケーションに賢明な方法で実装することができませんでした。
結石
android - アクティビティの状態を保存する方法
その下にリストビューがEditText
続きます。編集テキストに何かを入力すると、上記のテキストに一致するリストの項目が表示されます。とにかく、リストビューの状態を保存する必要があります。ユーザーがこの画面から移動して戻ってきた場合、リスト ビューは同じ状態になり、編集テキストは同じテキストで満たされる必要があります。あなたがそれを手に入れたことを願っています。
これを達成する方法を教えてください。
android - あまりにも多くの活動を開始しますか?
こんにちは、アプリケーションの実行中にあまりにも多くのアクティビティのように開始することは可能ですか?私は、毎日が新しい活動である毎日をスライドできるスケジュールアプリケーションを開発しています。今、あなたが始めるべき活動の数にどういうわけか制限があるのだろうかと思います。少しスライドするときのように、すぐにアクティブな約20のアクティビティになります。
他のアプリケーションがメモリを必要とするときにアクティビティが強制終了されることはわかっていますが、約20のアクティビティでホームボタンを押してアプリケーションをテストして閉じると、「実行中」のhtcセンスが、空きメモリが不足しているために閉じられたように再起動しているようです。いくつかのアクティビティを実行しているだけでは、これは発生しません。(htcdesire)
これは、あまりにも多くの活動を開始したことが原因である可能性がありますか?もしそうなら、あなたが最大に始めるべき活動の量の「制限」はありますか?
編集:私はどこかでアンドロイドアプリのツイッターがグーグルによって開発されていることを読みました。しかし、そのアプリケーションでは、無制限の数のアクティビティを実行することもできます。
android - アクティビティの終了時にNPEがスローされるのはなぜですか?
私は何日も私を夢中にさせてきたエラーがあります。残念ながら、2つの理由でコードを表示できません。上司はそれを評価せず、コードベースが大きすぎて共有できません。エラーは、アクティビティが終了するたびに発生します。私がfinish()を呼び出したため、またはosがそれを破壊したためです。
問題は、FragmentManagerImplのexecPendingActions()が1196行目にNPEをスローする原因となる(または発生する可能性がある)ことです。
スタックトレースは次のとおりです。
android - TabWidget の問題
そのため、TabWidget はタブをクリックするたびに新しいアクティビティを作成しないことを知っています。しかし、私は混乱しています..マップを含むタブアクティビティがあり、マップアクティビティにリンクされている他のタブからいくつかの値が変更され、(私のニーズのために)それらの変更された値でマップ上に何かを描画する必要がある場合考慮されます。どうやってやるの?タブをクリックすると、マップ アクティビティの onCreate メソッドが呼び出されないためです。アプリを終了してからもう一度入力するだけで、思い通りに機能します。他のアクティビティまたは sth から onDraw を呼び出すことができます。誰かが私の問題を解決する方法を知っている場合は、お知らせください。よろしくお願いします。
android - FLAG_ACTIVITY_CLEAR_TOPとFLAG_ACTIVITY_SINGLE_TOPの組み合わせによって再開されたGCのアクティビティからどのような状態が予想されますか?
次のシナリオを想像してみてください。
- アクティビティAにはローカル変数があり、それを保存するために
state
実装されます。onSaveInstanceState()
バンドルが渡された場合、onCreate()
またはバンドルに含まれている場合に復元するコードonRestoreInstanceState()
があります。 - アクティビティスタックはA->B->Cです。
- リソースが少ないため、OSによって収集されたガベージ。
- Cから、との組み合わせでAを前倒しするようにお願いし
FLAG_ACTIVITY_CLEAR_TOP
ますFLAG_ACTIVITY_SINGLE_TOP
。
ドキュメントによると、このフラグコンボにより、要求されたアクティビティは再開されません。onNewIntent()
代わりに、既存のインスタンスで呼び出す必要があります。
ただし、GCのため、明らかにAを再起動する必要があります。
私の質問は:どういうわけか変数state
が復元されるのでしょうか?
私はそれが起こるために次の方法を見ることができます:
onCreate(Bundle savedInstanceState)
-これは確実に呼び出されますが、バンドルはonSaveInstanceState()
GC中に保存されたものですか?onRestoreInstanceState(Bundle savedInstanceState)
-呼び出されますか?
ありがとう!
android - Android インテントのライフサイクル
インテントのライフサイクルについて少し混乱しています。特定のグラフィック ファイルに移動できるファイル ブラウザを使用しています。そのファイルを表示するインテントを起動すると、すぐに移動できます。戻るキーでファイル ブラウザに戻ります。また、こちらのアドバイス(Phylum Tea から) から、Web または Astro のようなサードパーティのファイル ブラウザーを介してファイルを参照できるようになりました。すべて良い。
私の問題は、Web からファイルを開いたときに、すばらしい表示がされ、戻るキーを押すと Web ブラウザーに戻るのに、別のファイルを選択して意図的に表示すると、最初のファイルがまだそこにある場合に発生します。最初のファイルの後にビューアーをバックアウトしたとき、インテントは有効なままでしたが、現在 (Web ブラウザーから) 後続のファイルはビューアーに渡されていません。元のインテントとその内容がビューに戻っているだけです。 .
私の Q: インテントを使用して、組み込みのファイル ブラウザ以外から取り込んだファイルを表示する場合、インテントが確実に終了するように onClose() で何をすればよいですか? また、その状況と、自分のファイル ブラウザーでファイルを開くこととをどのように区別すればよいでしょうか?
これが理にかなっていることを願っています!
tVm にアドバイスをお願いします。
バズ