gpt4 book ai didi

android - Android 中的处理程序与异步调用

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:05 24 4
gpt4 key购买 nike

目前我正在使用 Handlers 调用 Web 服务方法以使其在后台运行。问题是它需要更多时间来给出响应,就性能而言似乎更昂贵。现在我打算使用异步调用,哪个最好? Android 中的处理程序和异步调用之间有什么区别?请帮助我提出最佳解决方案。

为了您的引用,我在这里给出了一些代码 fragment

signIn.setBackgroundResource(R.drawable.signin_press);
changeImage=new Runnable(){
public void run(){
signIn();
}
};
signinHandler.post(changeImage);

当我调用此方法时单击“登录”按钮时,在调用此方法之前,UI 似乎已挂起几分钟。在此方法中,涉及两个昂贵的 Web 服务调用来验证和注册用户。我如何规范应用程序的缓慢。帮助我。

最佳答案

使用 Thread 有一定的优势和 Handler分别使用 AsyncTask这实际上取决于您的使用情况,这些好处与损害的分析可能会归结为您。

我会推荐文章 Painless Threading了解 Android 上的线程。

EDIT 以获取有问题的其他信息。

如果我们改编来自 Painless Threading 的代码链接的文章你可以得到类似的东西。

  new Thread(new Runnable() {
public void run() {
signIn();
signinHandler.post(new Runnable() {
public void run() {
//TODO: Something to notify of login complete / continue processing.
}
});
}
}).start();

在 TODO 中,您需要继续或通知执行,我不知道 signIn() 当前正在处理什么,所以如果它跨越 UI 线程,则必须进行重构。

关于android - Android 中的处理程序与异步调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5300574/

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