[英]SharedPreferences error when updating app
更新我的应用程序时,只会出现此错误。
java.lang.StackOverflowError
at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:354)
at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:146)
at it.veneto.arpa.controller.Controller.verifyBulletin(Controller.java:377)
at it.veneto.arpa.controller.Controller.retrieveBulletin(Controller.java:509)
at it.veneto.arpa.controller.Controller.verifyBulletin(Controller.java:394)
at it.veneto.arpa.controller.Controller.retrieveBulletin(Controller.java:509)
at it.veneto.arpa.controller.Controller.verifyBulletin(Controller.java:394)
at it.veneto.arpa.controller.Controller.retrieveBulletin(Controller.java:509)
at it.veneto.arpa.controller.Controller.verifyBulletin(Controller.java:394)
在377行上有:
SharedPreferences prefs = context.getSharedPreferences(PREFERENCES, Context.MODE_PRIVATE);
如果要连接到服务器(我假设,因为retrieveBulletin法)一遍又一遍,尝试等待(的Thread.sleep(TIME_OUT))对于一两秒钟,然后再试一次。 尝试次数最多。 假设您已经尝试了10次,但仍未收到响应或任何有效的响应,请尝试处理这种情况,而不要永远尝试。 如果不这样做,最终将导致堆栈空间不足,最终导致收到错误。
根据您的评论,情况类似-递归调用错误而没有处理最坏的情况。
我相信您的verifyBulletin
和retrieveBulletin
正在无限次地互相调用。 确保他们没有互相呼叫,或者如果对方互相呼叫,则存在结束条件。 如果满足结束条件,则不要调用其他方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.