Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android AsyncTask中的代码不';当屏幕关闭时,不要平稳运行_Android_Android Asynctask_Screen - Fatal编程技术网

Android AsyncTask中的代码不';当屏幕关闭时,不要平稳运行

Android AsyncTask中的代码不';当屏幕关闭时,不要平稳运行,android,android-asynctask,screen,Android,Android Asynctask,Screen,在我的AsyncTask中,我以某种模式振动手机,并重复此操作,直到用户将其关闭。只要屏幕处于打开状态,就可以正常工作。如果屏幕关闭,代码仍会运行,但其间会定期中断。Android似乎试图在屏幕关闭的情况下消耗电池,并且只定期在线程内运行代码(比如我的AsyncTask)。这是真的吗?或者这是其他行为?有没有一种方法可以让我的代码在屏幕关闭的情况下平稳运行?打开屏幕可能会耗尽电池电量。即使在屏幕关闭时,振动也用于通知用户。您可以使用。通过使用PARTIAL\u WAKE\u LOCK可以确保即使

在我的AsyncTask中,我以某种模式振动手机,并重复此操作,直到用户将其关闭。只要屏幕处于打开状态,就可以正常工作。如果屏幕关闭,代码仍会运行,但其间会定期中断。Android似乎试图在屏幕关闭的情况下消耗电池,并且只定期在线程内运行代码(比如我的AsyncTask)。这是真的吗?或者这是其他行为?有没有一种方法可以让我的代码在屏幕关闭的情况下平稳运行?打开屏幕可能会耗尽电池电量。即使在屏幕关闭时,振动也用于通知用户。

您可以使用。通过使用
PARTIAL\u WAKE\u LOCK
可以确保即使屏幕关闭,cpu仍在运行,代码也能正常执行


但是,我想补充一点,我从来没有在
AsyncTask
中遇到过这样的问题,但是如果您遇到这样的问题,唤醒锁可能是解决方案

AsyncTask
不是为处理长时间运行的任务而设计的。如果您想让手机长时间以特定模式振动,我建议使用。

设置重复报警。为了快速解决问题,我认为您可以在用户界面前唤醒屏幕。我也期待着他们是否真的是一个很好的解决方案。不知道你从哪里得到的关于AsyncTask不是为长时间运行的任务而设计的信息。相反,它是,我在我的应用程序中广泛使用它,非常好。你当然可以,但也有陷阱。On is说,“理想情况下,异步任务应该用于短期操作(最多几秒钟)。如果您需要让线程长时间运行,强烈建议您使用java.util.concurrent pacakge提供的各种API,如Executor、ThreadPoolExecutor和FutureTask。”。这就是我对它的解释。