Android:执行后台操作的设计考虑因素

时间:2012-06-28 06:46:54

标签: android xml-parsing background-process

在我的应用程序中,我使用SAX Parser解析XML数据。但是,我想把整个解析操作放在后台,即我想用工作线程来做这件事。这将是最好的解决方案,使用处理程序,AsyncTask或服务,因为我在三者之间有很多混淆。

3 个答案:

答案 0 :(得分:2)

Handler没有做任何工作;它是在后台线程和UI线程之间传递处理的一种方法。 AsyncTask是这里的一种方式:它有一个内置的Handler,因此您可以在完成后在UI线程上做一些事情,或者甚至在工作进展时发布更新。这就像使用普通工作人员Thread一样,但内置了Handler的便利性。当然,如果顺便的话,你可以自己使用工人ThreadHandler Handler作品不能很好地满足您的需求。

Service听起来有点矫枉过正;这是一种使处理可用于其他活动的方法。它也没有解决问题:在UI线程上调用Service,它需要启动一个单独的线程以避免阻止UI。

答案 1 :(得分:0)

你可能只是生成一个普通的java线程并在那里完成工作。

答案 2 :(得分:0)

所有人都有自己的优势。所有人都应该回答,这取决于你的需要..

就像你想要轻松实现一样可以使用AsyncTask with predefined structure and callbacks,所以在某些情况下服务可能会有自己的优势..

Handler提供了比AsyncTask更多的灵活性,因为AsyncTask具有针对不同工作的预定义结构和回调。所以你可以handler with any thread with没有预定义的结构和回调限制。

相关问题