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

Which thread do we get the call back on when calling findInBackground() on Parse android API

我一直在编写一个 android 应用程序,使用 parse-server 作为我的应用程序的后端即服务。当我查询 class 以从我的服务器获取对象时,我使用 ParseQuery.findInBackground() 然后接收这样的回调:

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

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

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