后台任务中的活动或服务?

时间:2010-12-18 00:18:43

标签: android interface service android-activity

这是我的设置;我有一个新闻应用程序。这个应用程序从本地存储加载一些列表视图(我滥用共享偏好,但如果这是一个好的做法将是另一个问题)。我希望能够顺利更新本地存储。

我的第一个方法是让一个按钮触发一个服务,这就是诀窍。但我也希望服务在完成后刷新活动。我无法做到这一点。 我目前的方法似乎有效,但在3G方面并不顺利。活动A显示“正在加载”框,然后启动活动B并销毁自身。活动B还显示加载框,进行下载,然后销毁自身并使用新内容重新启动活动A. 然而,这种最后一种方法使得在3G上从A到B的过渡时屏幕变黑并持续几秒钟。

为了视觉平滑,我想要一个加载弹出窗口连续显示。完成后,应该刷新活动。

有谁知道我怎么能做到这一点?

我希望我的解释足够明确。否则,我很乐意与您分享一些代码。

提前多多感谢

1 个答案:

答案 0 :(得分:1)

查看评论中链接的代码,您在活动的onCreate方法中做了太多工作。 onCreate应保持轻量级,以便尽快向用户显示UI。您可能希望将Activity设置的大部分内容移至onResume方法。此外,阻止UI线程的任何事情(如获取和解析数据)都应该在线程上完成。请在您的应用程序中使用AsyncTaskhttp://developer.android.com/reference/android/os/AsyncTask.html)来实现此目的。