私のプロジェクトでは、いくつかのアクティビティと1つのアプリケーションが定義されています。アプリケーションオブジェクトには、一部のアクティビティが使用しているメソッドが含まれています。
アクティビティ内で、AsyncTaskを拡張する内部クラスからアプリケーションオブジェクトのメソッドを呼び出しています。これは正しい応答ですか。アプリケーションのメソッドはAsyncTaskプロセスでも実行されますか?
どうもありがとう!
Neo74
私のプロジェクトでは、いくつかのアクティビティと1つのアプリケーションが定義されています。アプリケーションオブジェクトには、一部のアクティビティが使用しているメソッドが含まれています。
アクティビティ内で、AsyncTaskを拡張する内部クラスからアプリケーションオブジェクトのメソッドを呼び出しています。これは正しい応答ですか。アプリケーションのメソッドはAsyncTaskプロセスでも実行されますか?
どうもありがとう!
Neo74
これは、Asynctaskのどこでそのメソッドを呼び出しているかによって異なります。
「doInBackground」では、実行しているすべての処理が別のスレッドで実行されます。「onPreExecute/onPostExecute」では、メインスレッド(またはUIスレッド)で実行されます。
システムがそれを強制終了しない限り、すべてのスレッドとともにアプリケーションプロセスが実行されます。
プロセスのライフサイクルについて詳しくは、こちらをご覧ください。
http://developer.android.com/guide/components/processes-and-threads.html#Lifecycle