今はよくわからないことがあります。
私のメインアクティビティクラスは、TCP接続を待機する新しいスレッドを作成するサービスを作成します。入ってきたら、新しいアクティビティを開始します。
Intent dialogIntent = new Intent(getBaseContext(), VoIPCall.class);
dialogIntent.putExtra("inetAddress", clientSocket.getInetAddress());
dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplication().startActivity(dialogIntent);
その後、onCreate()そのクラスのメソッドが実行されます。2つのスレッドを作成します。1つはデータを記録して送信し、もう1つはデータを受信して再生します。これらのスレッドには、永久にwhileループがあります。
onCreate()何らかの理由で、その最後のクラスのが再び呼び出され、プログラムがクラッシュすることに気付きました。2つのスレッドのみが実行されており、ユーザーの操作がないため、なぜ再度呼び出されるのかわかりません。ドキュメントには、「アクティビティが最初に作成されたときに呼び出されます」と記載されています。アクティビティはすでに実行されており、作成しようとはしていません。
誰かが私にこの振る舞いを説明してもらえますか?