- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Androidのマルチスレッド処理の開始タイミング)
Androidのマルチスレッド処理の開始タイミング
このQ&Aのポイント
- Androidのマルチスレッド処理の開始タイミングについて調べています。
- スレッドを開始するタイミング、終了するタイミングはメインアクティビティのどのタイミングで行うのが良いのでしょうか?
- 現在はMainActivityのonCreateでスレッドを生成し、startメソッドで開始しています。onDestroyではhaltメソッドを呼び出してスレッドを終了させています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Threadの使い方にもよるので、Activityのライフサイクルを見たほうが早いです。
その他の回答 (1)
- oooioi
- ベストアンサー率29% (16/55)
回答No.1
AndroidならJava標準のThreadクラスより AndroidSDKのAsyncTaskの方がいいと思うよ。 理由は、その組み込みハードで画面も用意するなら
質問者
お礼
oooioi様 ご回答ありがとうございます。 確かに画面も用意するのでAsyncTaskを使ったほうが、 描画の更新などは簡単そうですね。 私が一番知りたかったのは ・スレッド生成をonCreateで行う ・スレッド破棄をonDestroyで行う というのが正しいやり方なのか? 2重起動や何かメモリの破棄などが行わる心配がないのか? のあたりがよくわかりませんでした。
お礼
teketon様 ご回答ありがとうございます。 1点疑問ですが、停止中に他のアプリのメモリ要求により破棄される場合、 destroyを通らずにメモリが破棄されて、次にアクティビティを起動すると createから呼ばれるようですね。 この場合はメモリが破棄された時点でm_ComCtrlのがクリアされるため、 自動的にスレッドも破棄されるという理解でよいのでしょうか? そうであれば、スレッドの2重起動も心配ないようですね。