我想用多線程進行兩種不同的計算。我有一個AsyncTask,裏面有「doInBackground」函數。在這個函數中,我想要利用多核進行更多的計算。我試圖使用IntentService,但我不知道它是如何工作的。這是主要的活動代碼:如何進行多線程計算Android
@Override
public String doInBackground(Void... params) {
long startTime = System.currentTimeMillis();
Intent multi_pi = new Intent(
getApplicationContext(),
multi_pi.class
);
startActivity(multi_pi);
long endTime = System.currentTimeMillis();
long total_time = endTime - startTime;
String time = Long.toString(total_time);
return time;
}
這是第一次計算的代碼:
public class multi_pi extends IntentService {
public multi_pi(String pi_1) {
super(pi_1);
}
@Override
protected void onHandleIntent(Intent pi_1) {
//first calculation
}
}
是否有另一種解決方案來做到這一點?
爲什麼你需要IntentService?如果你想多線程計算,只需同時運行幾個AsyncTasks。 – AterLux
小心AsyncTask,因爲它已知會導致內存泄漏 – mrroboaat