[解決済み] アンドロイドのAsynctaskとThreadの比較
2022-04-28 01:40:35
質問
UIでは、バックグラウンドの作業を行うために、別の
Thread
. しかし、他の人からの提案により、現在は
AsyncTask
.
との主な違いは何ですか?
Thread
と
AsyncTask
?
どのシナリオで
Thread
または
AsyncTask
?
解決方法は?
長時間稼働するタスクやCPUに負荷のかかるタスクの場合、基本的に2つの方法があります。Javaスレッドと、AndroidのネイティブなAsyncTaskです。
どちらが優れているというわけではありませんが、それぞれの呼び出しをいつ使うかを知っておくことは、システムのパフォーマンスを有利に活用するために欠かせません。
AsyncTaskを使うのは以下のような場合です。
- 大量のデータをダウンロードする必要がない、シンプルなネットワーク操作
- 数ミリ秒以上かかるようなディスクに縛られるタスク
Javaスレッドを使用するのは
- 中~大容量のデータを扱うネットワーク操作(アップロードまたはダウンロードのいずれか)
- バックグラウンドで実行される必要がある高CPUタスク
- GUIスレッドと相対的にCPU使用率を制御したいタスク
また、インターネット上には、あなたを助けるかもしれない良いリソースがたくさんあります。
http://www.vogella.com/articles/AndroidBackgroundProcessing/article.html
関連
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
[解決済み] 他のスレッドからGUIを更新するにはどうすればよいですか?
-
アンドロイドプロジェクトのパッケージングにgradleを使用する際の問題点
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Javaにおける "implements Runnable "と "extends Thread "の違いについて
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] プロセスとスレッドの違いは何ですか?
-
[解決済み] wait()とsleep()の違いについて
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
AndroidでAttempt to invoke virtual method... on null object referenceの例外が発生する。
-
java.lang.NullPointerException: NULLオブジェクト参照で仮想メソッド......を呼び出そうとしました。
-
aapt2エラー:ログを確認する(具体的な原因の探り方)
-
IllegalStateException。ArrayAdapter は、リソース ID が TextView である必要があります。
-
Android開発で「Attempt to invoke virtual method 'XXX()' on null object reference」というヌルポインター例外に遭遇する。
-
Android studioのインストールと問題発生、Emulator: PANIC: AVDのシステムパスが見つかりません。
-
GoogleMapと連携し、位置情報の取得が可能
-
Android--shape--描画のコーナー、グラデーション、パディング、サイズ、ソリッド、ストロークのプロパティを指定する。
-
Android Studio http://schemas.android.com/apk/res/android 「URIが登録されていません」の解決方法について
-
[解決済み] ハンドラ vs AsyncTask vs スレッド [終了しました]。