Android服务:生命周期考虑因素

时间:2011-08-03 12:26:18

标签: android service lifecycle

我正在制作一个Android应用程序,它将有两个服务,每24小时不断发送用户使用手机的数据。

用户应该执行应用程序,切换按钮以启用手机使用记录,然后用户应该可以使用手机正常生活,直到他再次启动应用程序并禁用切换按钮停止记录信息。

  • 我应该考虑服务的生命周期?
  • 当服务应该发送数据时,用户与手机的互动怎么样?

所有信息都非常感谢,因为我的想法让这一切变得有点不知所措!

非常感谢大家!

1 个答案:

答案 0 :(得分:8)

可以随时通过设置菜单剪切服务。如果Android决定它需要当前正在运行的活动的资源,它也可以在任何时候被杀死。 onDestroy()将被调用,无论如何使用它来存储所需的任何内容。

该服务在后台运行,但是通过主UI线程运行。因此,可以通过服务来阻止电话的操作。当手机试图做某事时,它似乎被锁定了。应该在诸如Java计时器,Java线程或AsyncTask之类的线程中使用任何阻塞过程。

在任何给定时间只能有一个正在运行的服务版本。但是,如果“myService”已在运行,则调用startService(myService)将基本上覆盖当前正在运行的服务,并且将再次调用onStartCommand()。但是,无论调用stopService(myService)多少次,都需要拨打startService(myService)来阻止它。

如果服务绑定到任何内容,

stopService(myService)将不会停止服务。它会等到服务停止之前删除所有绑定。