所以我提出了一个应用程序的想法,该应用程序需要收集数据并将其放在数据库中,而您可以在另一个应用程序中使用或者甚至不使用手机。我已经尝试过使用Service类,但据我所知,例如使用Service,运行会降低用户界面速度的任务。我想要这个,但我也想让它在应用程序之外运行。有没有办法做到这一点?
答案 0 :(得分:1)
例如,使用服务,运行会降低用户速度的任务 接口
如果您在服务中运行的任务很重,可能会发生这种情况。您仍然可以使用IntentService,它使用不同的线程来执行任务
答案 1 :(得分:1)
您对使用服务的想法是正确的。即使您的应用程序未被使用,它也是在后台运行线程的唯一方法。如果您想阻止Android杀死它,可以将服务设置为前台服务。
答案 2 :(得分:1)
服务是一个应用程序组件,可以在后台执行长时间运行的操作,但不提供用户界面。另一个应用程序组件可以启动服务,即使用户切换到另一个应用程序,它也将继续在后台运行。此外,组件可以绑定到服务以与其交互,甚至执行进程间通信(IPC)。例如,服务可以从后台处理网络事务,播放音乐,执行文件I / O或与内容提供商交互。
上阅读更多内容答案 3 :(得分:0)
首先,服务与UI无关,因为它在完全不同的线程上运行,所以它不会降低UI的速度。
您应该考虑使用Intent服务。这是教程
http://javatechig.com/android/creating-a-background-service-in-android
答案 4 :(得分:0)
不要使用线程进行后台工作。在服务中使用 AlarmManagar (AL)的服务。在那你想要给出一些特定的时间段。所以(AL)它将触发您想要在后台执行的服务,这意味着不与app进行交互。为了更有效地工作,请使用 IntentService 而不是普通服务。所以它比服务更有效。