首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android,理解AsyncTask

Android,理解AsyncTask
EN

Stack Overflow用户
提问于 2013-11-26 03:16:07
回答 2查看 56关注 0票数 0

特定的AsyncTask是否针对特定的活动?或者我可以说一个RESTful APIManager,它调用了四个AsyncTask类中的一个,APIGET APIPOST APIPUT APIDELETE,并能够以这种方式处理网络代码?我的想法是能够在我的UI代码中调用类似的东西。

代码语言:javascript
复制
<edit> Class UserPrefs;
APIManager.createUser(JSONObject info);

APIManager.createUser {
    // handle info
    APIPost newPost = new APIPost(info);
}

APIPost extends AsyncTask {
    doInBackground {
         //network code
         <edit> UserPrefs.save(result);
    }

}

这个模型可行吗?还是我滥用了AsyncTask?

EN

回答 2

Stack Overflow用户

发布于 2013-11-26 03:30:25

AsyncTasks自然适合RESTful服务,但它们并不依赖于活动的生命周期。您可以创建并启动异步任务,但当该任务完成其后台工作并调用onPostExecute时,内存中不再存在原始活动。因此,对于如何存储本地数据,您应该有一个更好的计划,而不是将其保存在Activity成员中,因为在Activity成员中,数据可能会频繁消失。为了避免颠簸,您应该将数据保存在某个地方。保存本地数据的候选对象是SharedPreferences、文件系统、数据库或应用程序单例对象,具体取决于数据和应用程序的性质。

票数 0
EN

Stack Overflow用户

发布于 2013-11-26 03:35:14

你可以使用ExecutorService,AsyncTasks在内部使用它。非常容易使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20201336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档