这是我的问题:
在我的应用程序中,有一个场景,比如应用程序会自动检测到其中包含一些信息的超声音。当用户进入商店时,这个声音应该在Retail shope中播放我的应用程序应该检测每个播放的声音商店入口。
为此,我通过扩展Service类创建了一个Service,它始终保持运行。我通过创建一个单独的线程从Activity启动了这个服务 为了它。
以下是我的问题:
当我从线程启动服务时,它工作正常,没有用户界面被挂起。经过一段时间我仍处理用户界面后,我的应用程序被挂起,我在日志中遇到ANR错误。
那么我该如何解决这个问题。
来自线程的satrting服务是正确的方法..? 任何启动服务的好方法。 如何从我的代码中解决ANR错误。?任何人都可以帮助我。我尝试了很多帖子,但任何一个都不适合我。
谢谢你。
答案 0 :(得分:1)
AsyncTask将解决目的。你应该反过来。您也可以从主UI线程启动服务,现在您正在Service中执行任务,您可以在单独的线程中执行此操作。你可以从服务开始线程。
所以它应该是 - 活动 - >服务 - >线程您也可以使用AsyncTask,它只是一个后台线程。
此致 Brijesh