为了账号安全,请及时绑定邮箱和手机立即绑定

无限递归导致StackOverflowError

标签:
Android
/**
 * 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方法上传图片的时候需要添加一个回调来通知当前上传文件的进度等信息,为了简化上传代码于是稍微封装了一下,因为涉及到了一个回调所以就写了一个接口用于将当前的上传状态通知外界,不幸的是我自己写的那个回调方法与uploadManager.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
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消