무한 반복으로 인해 StackOverflowError 발생
3894 단어 개발 중 발생한 버그
/**
* Created by wangke on 2017-07-20.
*
*/
public class UpLoadHelper {
private static final String accessKey = "KXLzuFCOxgNar5whqU3-0bmrH6rTHOqaidcohRes1";
private static final String secretKey = "aiw1aAh-dwA9k6nkWAQLExy2Taz9cE1nFYA_01WY1";
private CompletionListener mCompletionListener = null;
/**
*
*
* @param path
*/
public void upLoadAveter(String path, String key, CompletionListener completionListener) {
this.mCompletionListener = completionListener;
Auth auth = Auth.create(accessKey, secretKey);
//
String uploadToken = auth.uploadToken("kangyuanmilk", "/aveter");
UploadManager uploadManager = UpLoadManagerFactory.getInstance();
uploadManager.put(path, key, uploadToken, new UpCompletionHandler() {
//
@Override
public void complete(String key, ResponseInfo info, JSONObject response) {
if (mCompletionListener != null) {
complete(key, info, response);
}
}
}, null);
}
public interface CompletionListener {
public void complete(String key, ResponseInfo info, JSONObject response);
}
}
uploadManager를 사용하고 있습니다.put 방법으로 그림을 업로드할 때 현재 업로드 파일의 진도 등 정보를 알리기 위해 리셋을 추가해야 합니다. 업로드 코드를 간소화하기 위해 살짝 봉인했습니다. 리셋과 관련이 있기 때문에 현재의 업로드 상태를 외부에 알리는 인터페이스를 썼습니다. 불행하게도 제가 쓴 리셋 방법과 upload 관리자입니다.put 방법의 리셋 방법의 이름은 동일합니다. 이로 인해 뒤에 호출할 때 귀속 호출이 되어 뒤에 창고가 넘칠 때까지 합니다.
오류 메시지:
07-20 16:03:00.224 7475-7475/com.merpyzf.kangyuanmilk E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.merpyzf.kangyuanmilk, PID: 7475
java.lang.StackOverflowError: stack size 8MB