我的Android应用程序做了一些计算,但我最近注意到,如果我要离开应用程序,正在运行并完成工作的线程会停止。 如果手机进入待机模式或用户将其锁定,也会发生这种情况。
我想让我的应用程序继续工作,即使用户离开它,或锁定手机(或手机进入待机模式)。
我正在使用所有的Activity生命周期方法,但我不销毁任何东西,除非用户实际按下手机物理按钮上的“Back”或者从应用程序菜单中按“Exit”。
进行计算的线程在于它自己的公共方法,但是它是从按钮处理程序的onclick方法调用的。这个处理程序,几乎所有这些都是在onCreate方法中定义的。
答案 0 :(得分:2)
当设备的屏幕关闭时,您的Activity
将暂停(并在屏幕开启时恢复)。
请考虑使用Service
来完成工作。 IntentService
是一种相对简单的方法,因为它负责创建一个单独的线程,一次处理一个工作请求,以及在没有更多工作要做的时候进行清理。
答案 1 :(得分:0)
你要求的通常被称为“在后台运行”。一种方法是服务(教程here)。