在我的应用程序中,我在与主要(UI)不同的线程中创建了一个服务。 然后,在服务中,我创建了3个无限期在后台执行的其他线程。 但是一旦手机进入待机模式,这些线程就会暂停执行!
如果我通过USB线将手机连接到电脑,相反,我看到线程正常工作,即使处于待机模式也不会暂停自己。
但是如何让线程在正常执行中没有这种行为?
TNX
解决:
我设法通过使用PowerManager对象来获得此功能,该对象获取PARTIAL_WAKE_LOCK,使得cpu从acquire()激活到release()。
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
wl.acquire();
..CPU will stay on during this section..
wl.release();
答案 0 :(得分:2)
我设法通过使用PowerManager对象来获得此功能,该对象获取PARTIAL_WAKE_LOCK,使得从acquire()调用中的cpu保持活动状态直到release()调用。
这样即使手机进入stanbdy模式,线程肯定也在运行。
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
wl.acquire();
..CPU will stay on during this section..
wl.release();