【发布时间】:2018-12-15 06:28:21
【问题描述】:
在我的 Android 应用中,有一个名为 userProfile(Promise promise) 的函数,如下所示:
@ReactMethod
public void userProfile(Promise promise) {
String name = getName();
String number = getNumber();
String userDynamicId = getHttpDynamicId(); // network request
...
promise.resolve(name + number + userDynamicId);
}
userProfile 是一个ReactMethod,它将由 UI 线程处理,但是,getHttpDynamicId() 由于网络原因可能会花费很长时间。有时,UI 线程会被此函数阻塞。
是否有任何简单的方法可以使用另一个线程来处理 getHttpDynamicId() 以避免 GUI 冻结?或者任何其他的多线程方式来处理这个问题?
【问题讨论】:
-
@MeowCat2012 感谢您提供的文件,它很有帮助。我正在看它。如果我能解决,我会在这里粘贴我的解决方案。如果是这样,请您帮忙竖起大拇指来抵消“-1”。看到人们如此轻易地无缘无故地给出“-1”,这令人难过。
-
好吧,这次好了。您可以在提问之前学习
search以获取现有解决方案,并在将来浏览Documentation|Reference|Online Courses|Tutorials。不仅节省了别人的时间,也节省了自己的时间。然而,作为一个初学者,甚至很难知道从哪里开始搜索(例如使用什么关键字,如何描述),所以我认为投反对票并不合理。 -
@MeowCat2012 感谢您的理解以及链接。我已经设法解决了。稍后将上传我的解决方案。我很感激!
标签: java android multithreading runnable blocking