gpt4 book ai didi

java - 在 Parse android API 上调用 findInBackground() 时,我们会在哪个线程上得到回调

转载 作者:行者123 更新时间:2023-12-01 09:34:53 26 4
gpt4 key购买 nike

我一直在编写一个 Android 应用程序,使用 parse-server 作为我的应用程序的后端服务。当我查询一个类以从服务器获取对象时,我使用 ParseQuery.findInBackground() 来执行此操作,然后接收回调,如下所示:

query.findInBackground(new FindCallback<Shruti>() {
@Override
public void done(List<Shruti> objects, ParseException e) {
...................
...................
});

我的问题是,我在哪个线程上收到 done() 方法的回调。它仍然是通过调用 findInBackground() 启动的同一线程还是我调用 findInBackground() 的线程?我对此很好奇,因为如果我也想在后台对检索到的对象进行一些处理,我是否需要再次调用相应的 do-in-background 方法,或者因为我得到的回调已经在不同的线程中,我可以只调用同步方法(例如,ParseQuery.find()ParseQuery.findInBackground()的同步选项)假设我仍在后台线程中吗?

最佳答案

我认为回调方法将在您用来调用 findInBackground 的线程上执行,因此,如果这是 UI 线程并且您有更多网络需要在那里执行,则需要使用其他后台线程。您可以通过调用同步方法进行验证,并查看是否收到 NetworkOnMainThreadException(在足够新的设备上)。

关于java - 在 Parse android API 上调用 findInBackground() 时,我们会在哪个线程上得到回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39083321/

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