問題タブ [android-looper]
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.
java - コードネーム 1 つのネイティブ インターフェイスを使用して、AlarmManager を介してバックグラウンド サービスを作成する方法は?
Android用のCodename oneを使用したネイティブインターフェイスを初めて試します。アプリケーションが実行されていない場合でも、特定の時間後にバックグラウンドでサーバー上のデータストアを取得するために、以下のコードを試します。データサービス/wifiが有効かどうかは考慮していません。これを実現するために、Codename one を使用してネイティブ実装を作成します。あまりにも多くの方法をグーグルで試した後でもLooper.prepare();
、ハンドラーで呼び出すには同じエラーが発生します。私の試みの1つのコードservice
は以下のとおりです。私は Android プログラマーではないので、Android の専門家とは見なさないでください。
ネイティブ Impl のコード:
実装呼び出しクラス:
Intent で呼び出されるクラス:
エラーメッセージ :
android - Android Looper のシャットダウン
Looper
(少なくとも で作成されたものは)HandlerThread
他のコードから参照されていなくても、ガベージコレクションを取得しないようです。私はquit()
とquitSafely()
メソッドを認識していますが、私のアプリケーションでは、これらのメソッドのいずれかを呼び出す責任があるのは誰なのかわかりません。
Looper
複数のアクティビティを含むアプリケーションでをシャットダウンする正しい方法と、Handler
これで作成されたLooper
がアクティビティのライフサイクルとは異なるライフサイクルを持っている場所を教えてください。onDestroy()
どのアクティビティにもなりません。シャットダウンせず、プロセスがOSによって強制終了されない場合Looper
、次のアプリの「起動」時に新しいものが作成される可能性があり、これがリークします。または、一度作成し、静的フィールドに保存し、決して終了せず、一度リークさせます。最後の 1 つは、これまでで最も安全で実装が簡単なようです。
android - 重複ループ
これが私のFileObserverコードです:
1 つだけではなく、ログに 2 つのレポートが返されます。これは、実装されると 2 つの自動メールが送信されることを意味し、これは理想的ではありません。
誰かが私の構文を手伝ってくれますか?
android - 複数の asynctask が終了するまで呼び出しスレッドを保持する
タスクを同時に実行するために 3 つの asynctasks を呼び出すバックグラウンド スレッドがあります。呼び出しスレッドは、これらのタスクの 3 セットのキューとして機能します。
したがって、基本的には 3 つの asynctasks を同時に呼び出す必要があり、それらが完了したら、キューの次の 3 つのタスクを呼び出して繰り返します。
ただし、3 つの asynctask が終了するまで、呼び出し元のスレッドを一時停止するのに問題があります。その結果、キュー内の次の 3 つのタスクは、前の 3 つのタスクが完了する前に実行を開始します。
とにかく、asynctasks が完了するまで呼び出し元のスレッドを保持する必要があります。asynctask で .get() を使用できることはわかっていますが、3 つの asynctask を同時に実行することはできません。
android - Realm と Looper の悪ふざけ
Loopers と Realm に問題があります。
Activity
onCreate()でインスタンス化してからPresenter
、パブリック メソッドの 1 つを呼び出しますinitFirstLaunch()
。
playerViewContract
このコンテキストでの私の活動であることに注意してください。
私の問題は、それonChange()
が時々呼び出されることであり、それが呼び出されると、UI スレッドがブロックされます (そして、最終的に a が引き起こされますOutOfMemoryError
)。私の推測では、ルーパー スレッドではなかったのですが、Looper.prepare()
どこかを呼び出すと、既にルーパー スレッドにいると言ってクラッシュします。
何が起こっていますか ?
ありがとう
編集:initWithCourseDetailedコードを追加