微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – Robospice请求永远不会结束,如果应用程序进入后台,然后来到前景?

我正在开发一个使用RoboSpice库来调用REST API的应用程序.除了一件事,图书馆的一切都很好.我不使用RoboSpice中提供的缓存,因此所有请求都是在没有缓存的情况下完成的.现在,当任何请求正在进行并且用户按下home按钮时,调用onStop(),其中调用spice manager的shouldStop(),取消注册所有请求监听器以进行通知.当应用程序再次出现在前台时,由于未通知侦听器,因此不会发生UI更新.

我不想使用Robospice提供的Cache.有没有其他方法可以在不使用缓存的情况下获取UI更新通知

最佳答案
RoboSpice显然不可能,事实上,有一个很好的理由:这将是一个非常糟糕的主意.

当您的活动终止(onStop)时,Android希望垃圾收集其实例.要做到这一点,它不应被任何东西引用.这就是RS强加所有听众都被删除的原因.通常,侦听器持有对活动的引用(作为内部类),RS的最佳成就是让活动正常死亡并获取垃圾.

因此,做你想做的事情显然会导致内存泄漏,而且大多数时候都会导致崩溃:当一个活动不再显示时,你想更新它的用户界面吗?看起来有点尴尬,不是吗?

也许最简单的方法是使用非常有限的缓存,或者只是在每次活动进入onStart时执行所有请求.

原文地址:https://www.jb51.cc/android/430992.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐