在 Android 中初始化库项目时出现问题

时间:2021-01-21 23:04:59

标签: java android multithreading initialization library-project

我是 Android 开发新手,我有一个关于线程的问题。

我正在开发一个库项目并创建了一个宿主应用来测试 Android 中的库项目。

我遇到了一个问题,即宿主应用程序需要来自库项目的组件,但库项目尚未完全初始化,因为它正在等待网络请求响应。所以宿主应用现在无法正确获取组件。

我的库项目在 Executor (Executor.newCachedThreadPool) 中使用 SyncHttpClient 进行网络请求。

当我检查线程时,我使用了两个线程(主线程+后台线程),我认为后台线程来自Executor。

在这种情况下,有什么方法可以让主线程等待后台线程,以便宿主应用程序正确地从库项目中检索组件? (我个人认为为了后台线程完成而阻塞 UI 线程是可以的。这是一个坏主意吗?)

使用 contentProvider onCreate 方法初始化库项目。到目前为止,初始化库项目和宿主应用程序的顺序是这样的。

  1. 开始初始化库项目
  2. 在初始化库项目时,在 Executor 中执行网络请求。
  3. 宿主应用程序开始初始化并需要来自 图书馆项目。
  4. 但是库项目还没有完全初始化 因为它没有从网络请求中得到响应。

我将感谢有关此问题的任何帮助/建议。 谢谢。

0 个答案:

没有答案