問題タブ [android-threading]

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 投票する
6 に答える
33563 参照

android - AsyncTask と Thread/Runnable の違い

私を困惑させる質問があります。

SDK ドキュメントで推奨されているように、バックグラウンド スレッドを使用する必要がある GPS/位置情報を取得するなど、別のスレッドで何かを実行したいとします。

だからここに質問があります:違いは何ですか

  1. ANDThreadを使用してバックグラウンドで を作成するAsyncTask

  2. を作成Thread thread1 = new Thread(new Runnable()して実装しrun()ますか?

0 投票する
0 に答える
32 参照

android - 新しいスレッドがビューに触れることができる理由

私たちが Android アプリケーションで知っているように、ビューをタッチするだけでMain/UI Thread、それ以外の場合はCalledFromWrongThreadException以下のメッセージでスローできます。

しかし、 で 1 回だけタッチするとonCreate()、この Exception はスローされず、「Hello Again!」オンに設定TextView

なぜなのかご存知ですか?

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

android - ハンドラエラーで複数処理を同時に行う

一度に2つのプロセスを実行できるアプリを作成しています(データベースへの保存/APIへの送信)が、トレッドから問題が発生していました.これは私のスレッド時のコードです:

これは私のコードです:

これは私のエラーです:

ここに画像の説明を入力

PS。asynctask のように、この複数のプロセスで動作し、単一の方法でスレッド化するなど、他の可能なコード実装も必要ですが、私のコードは完全に機能しないのではないかと思っていました。

0 投票する
0 に答える
39 参照

android - TCP 接続の作成時にスレッドが停止する

スレッド経由で接続を開始するアプリケーションを構築していますが、接続を初期化すると、アプリケーションは接続せず停止します (動作は継続しますが、何もしません)。1週間前は問題なく動作していましたが、Android Studioを更新するとこの問題が発生し始めました。

これは Connection の抽象クラスです。

デバッグを行っているときに、ソケットがインスタンス化されると明らかにブロックされることがわかりました。

0 投票する
0 に答える
147 参照

android - Android でバックグラウンド タスクを最適化する方法

Room Database (基本的に SQLite のラッパー) からデータを取得して、そのデータのチェックを行う必要があるアプリがあります。

この非同期呼び出しを毎分トリガーする Handler を使用して実装しました。ハンドラは mainThread に登録されていますが、タスクが呼び出されると、新しいスレッドをディスパッチしてこのタスクをバックグラウンドで実行します。

私の問題は、アプリケーションがフォアグラウンドにないときにこの操作を行う必要がないことです。理想的には、アプリがフォアグラウンドに戻ったときにハンドラーがタスクを起動し、そのタスクが終了した後、1 分以内に次の呼び出しをスケジュールする必要があります。

しかし、ホームボタンをクリックしてアプリを終了し、他のアプリを開くと、この操作が行われたことについてアプリがログを作成しているのが表示されます。

私の問題は、これが 6 時間または 7 時間実行されると、ユーザーの電話にバッテリーの影響が残るのではないかと心配していることです。アプリで行われたウェイクロックはありません。

編集: このクラスを使用する 3 つのアクティビティがあり、これ (BackcgroundExecutor) はシングルトンの内部クラスです。それを1つのライフサイクルに接続すると、3つすべてのライフサイクルに応じて適切に機能させる必要があります。

この問題をどのように修正しますか?