的StackOverflowError遞歸性我得到StackOverflowError
異常報告同時呼籲這個遞歸方法:固定使用的Runnable
private void downloadFiles(int index) {
if (index < totalFiles) {
downloadSingleFile(index, new DownloadCallback() {
@Override
public void onSuccess(String filePath) {
downloadFiles(index + 1);
}
});
}
}
我想問如果我用一個Runnable像這樣:
int index = 0;
handler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
downloadFiles();
}
};
handler.post(runnable);
private void downloadFiles() {
if (index < totalFiles) {
downloadSingleFile(index, new DownloadCallback() {
@Override
public void onSuccess(String filePath) {
index ++;
handler.post(runnable);
}
});
}
}
這會不會是一個遞歸,以及拋出異常? 謝謝
你有至少通過堆棧跟蹤讀?它應該很容易地告訴你哪一行導致異常。閱讀https://stackoverflow.com/questions/214741/what-is-a-stackoverflowerror –
我已閱讀它,但它告訴我,如果我的解決方案使用runnable將修復或不。 – GeniDeveloper