因爲我是android編程的新手,所以我不確定如何有效編寫代碼,因此出現此問題的原因。我正在創建一個應用程序。一個基本的應用程序,其中應用程序生成10個隨機數學問題,並從左向右進行評估(忽略操作順序)。例如。 3 + 5/2應該等於4而不是5.5。設備變黑,啓動超時失效
我收到錯誤啓動超時已過期。我研究了這一點,發現它是因爲主線程做了太多工作。我如何克服這一點?我的應用程序首先做了很多隨機整數,情況可能如此嗎?
這是代碼。這很長。 P.S.在顯示方法中,我對它進行了編碼以顯示第一個元素,以查看它是否會顯示。
public void initAnswers(String[] questionToBeLooped){
for(int i =0; i < questionToBeLooped.length; i++){
if(mathOperations.length == 2){
runningTotal = evaluateAnswerTwoOperations(mathOperations[0], mathNumbersInIntFormat.get(0), mathNumbersInIntFormat.get(1));
}else{
int operationsCounter =0;
int numbersCounter =1;
runningTotal = mathNumbersInIntFormat.get(0);
while(mathOperations[operationsCounter] != "="){
runningTotal = evaluateAnswerTwoOperations(mathOperations[0],runningTotal,mathNumbersInIntFormat.get(numbersCounter));
}
}
answers[i] = runningTotal;
}
}
有人能告訴我如何有效地寫這個,也可以提供一些提示,以生成流暢和高效的應用程序。
哦好吧謝謝你的提示。我剛看了一下我的代碼,得到了一些新鮮空氣,並注意到我的initAnswers方法中的while循環偶然發生了無限循環。你認爲這可能是原因? –
是的,主線程上的無限循環會導致這種情況。 – Eggman87
這就是爲什麼對於編碼人員定期休息是很重要的!不敢相信我犯了那個錯誤... –