gpt4 book ai didi

android - Robospice - 我们应该以什么顺序使用 execute()、addListenerIfPending()、getFromCache()

转载 作者:行者123 更新时间:2023-11-30 02:51:17 28 4
gpt4 key购买 nike

当我们进入一个 Activity 时,有三种可能的请求状态。

  1. 还没有开始
  2. 在进程中,监听器是分离的
  3. 请求完成

根据文档,我了解到如果我们在 onStart() 中使用 execute(),它会处理情况 1,3 但不会处理情况 2(当请求正在处理时)。我们需要为此使用 addListenerIfpending()

我使用的解决方法是在 onStart() 中使用 addListenerIfPending(),并在 onRequestNotFound() 中使用 execute

protected  void onStart(){
super.onStart();
getSpiceManager().addListenerIfPending(my.class,"mykey",new myRequestListener());
}


public final class myRequestListener implements PendingRequestListener<result> {

@Override
public void onRequestFailure(SpiceException spiceException){

}

@Override
public void onRequestSuccess(final RoundInfo roundInfo) {

}

@Override
public void onRequestNotFound(){

getSpiceManager().execute(request,"mykey", DurationInMillis.ONE_DAY,new myRequestListener());
}
}

我想知道这是否是正确的方式,是否是它应该完成的方式。

另外,如果有任何性能问题,请评论

最佳答案

不,你的第一个陈述是错误的。

execute() 将负责所有 3 个案例。

addListenerIfPending 本身不会触发任何请求,它只允许将监听器插入已挂起的请求(如果存在此类请求)。所以情况 2。

关于android - Robospice - 我们应该以什么顺序使用 execute()、addListenerIfPending()、getFromCache(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24112157/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com