Android AsyncTask中的代码不';当屏幕关闭时,不要平稳运行
在我的AsyncTask中,我以某种模式振动手机,并重复此操作,直到用户将其关闭。只要屏幕处于打开状态,就可以正常工作。如果屏幕关闭,代码仍会运行,但其间会定期中断。Android似乎试图在屏幕关闭的情况下消耗电池,并且只定期在线程内运行代码(比如我的AsyncTask)。这是真的吗?或者这是其他行为?有没有一种方法可以让我的代码在屏幕关闭的情况下平稳运行?打开屏幕可能会耗尽电池电量。即使在屏幕关闭时,振动也用于通知用户。您可以使用。通过使用Android AsyncTask中的代码不';当屏幕关闭时,不要平稳运行,android,android-asynctask,screen,Android,Android Asynctask,Screen,在我的AsyncTask中,我以某种模式振动手机,并重复此操作,直到用户将其关闭。只要屏幕处于打开状态,就可以正常工作。如果屏幕关闭,代码仍会运行,但其间会定期中断。Android似乎试图在屏幕关闭的情况下消耗电池,并且只定期在线程内运行代码(比如我的AsyncTask)。这是真的吗?或者这是其他行为?有没有一种方法可以让我的代码在屏幕关闭的情况下平稳运行?打开屏幕可能会耗尽电池电量。即使在屏幕关闭时,振动也用于通知用户。您可以使用。通过使用PARTIAL\u WAKE\u LOCK可以确保即使
PARTIAL\u WAKE\u LOCK
可以确保即使屏幕关闭,cpu仍在运行,代码也能正常执行
但是,我想补充一点,我从来没有在
AsyncTask
中遇到过这样的问题,但是如果您遇到这样的问题,唤醒锁可能是解决方案 AsyncTask
不是为处理长时间运行的任务而设计的。如果您想让手机长时间以特定模式振动,我建议使用。设置重复报警。为了快速解决问题,我认为您可以在用户界面前唤醒屏幕。我也期待着他们是否真的是一个很好的解决方案。不知道你从哪里得到的关于AsyncTask不是为长时间运行的任务而设计的信息。相反,它是,我在我的应用程序中广泛使用它,非常好。你当然可以,但也有陷阱。On is说,“理想情况下,异步任务应该用于短期操作(最多几秒钟)。如果您需要让线程长时间运行,强烈建议您使用java.util.concurrent pacakge提供的各种API,如Executor、ThreadPoolExecutor和FutureTask。”。这就是我对它的解释。