【发布时间】:2014-05-16 14:05:50
【问题描述】:
我们正在使用带有 okhttp 的 Robospice 1.4.12。一切正常,除了在用户点击主页按钮然后返回活动时从请求中获取结果。
示例:我们触发一个请求,然后按下主页按钮,我们等待请求完成,当我们返回活动时,侦听器永远不会收到通知。如果我们在请求完成之前返回,一切正常。
方向更改工作正常。我们将 LruCacheObjectPersister 用于内存缓存。
现在是一些代码:
我们的服务:
public class MyService extends OkHttpSpiceService {
@Override
public CacheManager createCacheManager(Application application) throws CacheCreationException {
CacheManager cacheManager = new CacheManager();
int cacheSize = 1 * 1024 * 1024; // 1MiB
cacheManager.addPersister(new LruCacheObjectPersister<LoginModel>(LoginModel.class,
new LruCache<Object, CacheItem<LoginModel>>(cacheSize)));
return cacheManager;
}
}
我们在片段中的onStart:
@Override
public void onStart() {
super.onStart();
//spice manager gets started in base fragment
spiceManager.addListenerIfPending(LoginModel.class, REQUEST_KEY, new LoginRequestListener());
}
请求执行:
spiceManager.execute(new LoginRequest(), REQUEST_KEY, DurationInMillis.ONE_DAY,
new LoginRequestListener());
我们错过了什么吗?
【问题讨论】:
标签: android activity-lifecycle robospice