1

Fragment中有一个耗时的任务(线程)。它工作正常。但是,当我关闭屏幕时,我看到 CPU 无法正常工作,因此任务无法正常工作。

PowerManager在 Activity 中使用过,但在 Fragment 中也没有使用过。还添加<uses-permission android:name="android.permission.WAKE_LOCK" />

@Override
protected void onResume() {
    super.onResume();
    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "CPUKeepRunning");
    wakeLock.acquire();
}

@Override
protected void onDestroy() {
    super.onDestroy();
    if (wakeLock != null && wakeLock.isHeld()) {
        wakeLock.release();
        wakeLock = null;
    }
}

我见过CPU 在此处输入图像描述

4

1 回答 1

1

通过服务运行您的代码,如果您在活动中运行它,一旦活动进入后台,它将停止。改用服务。

http://developer.android.com/training/run-background-service/create-service.html http://developer.android.com/guide/components/services.html

于 2015-11-28T08:25:28.233 回答