Thi*_*ryC 17 android firebase firebase-realtime-database
在使用Firebase的Android应用程序中,一旦Firebase返回查询答案,我需要在后台执行长时间操作.例如:
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot data) {
dosomething very long. . .
then call a callback forUI thread
}
Run Code Online (Sandbox Code Playgroud)
我知道firebase在异步模式下执行查询,但该onDataChange()方法似乎总是在主UI线程中执行,即使我尝试在自定义后台线程中调用查询.
有谁知道如何管理这个用例?
参加聚会可能有点晚了,但是如果您想Firebase在后台线程上返回回调,则可以使用BACKGROUND_EXECUTORfrom 之com.google.firebase.firestore.util.Executors.BACKGROUND_EXECUTOR类的
.addOnCompleteListener(BACKGROUND_EXECUTOR, OnCompleteListener<Void> {
...
}
Run Code Online (Sandbox Code Playgroud)
还有其他执行者,例如 -
DEFAULT_CALLBACK_EXECUTOR
DIRECT_EXECUTOR
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5444 次 |
| 最近记录: |