gpt4 book ai didi

android - 如何使用异步类解决 Android 中的 UI 挂起问题?

转载 作者:太空狗 更新时间:2023-10-29 13:40:30 27 4
gpt4 key购买 nike

我正在实现与聊天相关的应用程序。在这个应用程序中运行异步类中的两个方法,同时运行刷新消息和消息列表这两个方法。我首先使用最初加载列表,每 10 秒调用一次刷新方法,两者都在实现单独的异步类,但这次有一段时间屏幕挂起。

如何解决挂屏问题?

下面的方法每 10 秒调用一次:

 public class LatestMessage extends AsyncTask 
{
handlerreferesh("",0);
}

class RefreshHandler extends Handler
{
public void handleMessage(Message msg)
{
Shout1.this.updateUI();
}

public void sleep(long delayMillis) {
this.removeMessages(0);
// if(isUpdateUI )
if(!isFinishing())
{
sendMessageDelayed(obtainMessage(0), delayMillis);
}
}
};
private void updateUI(){
try
{
//this below handlerrefresh method implemnting asyncronous class.........
handlerreferesh("",0);
mRedrawHandler.sleep(10000);
}
catch (Exception e) {
e.printStackTrace();
}
finally
{
System.gc();
System.runFinalization();
}
}

第二种方法:

 handlerMessage("",0);

private void handlerMessage(final String messageType, final int dis)
{
new DownLoanPhoto().execute(null);
}

最佳答案

您可以异步执行任何您想做的事情,但是更新 UI 的所有内容都必须在 UI 线程中运行。因此,您应该使用 runOnUiThread 函数在 Runnable 中运行该操作。

关于android - 如何使用异步类解决 Android 中的 UI 挂起问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6407701/

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