首页 文章

当react-native应用程序进入后台时,有没有办法暂停传奇?

提问于
浏览
0

目前我们检查商店是否有效:

function* cycleChatBadge() {

    let task;

    while (true) {
        const state = yield select(),
        isAppActive = isAppActiveSelector(state);

        if (!isAppActive) {
            yield call(delay, 8000)
            yield put({type: "CHAT_BADGE"});
            return;
        }

        const { input } = yield take('CHAT_BADGE');

        if (task) {
            yield cancel(task)
        }

        task = yield fork(getChatBadge)
    }
}

但是,我们想知道这种方法在功率方面是如何优化的,以及每隔5秒检查一次商店是否会耗尽电池电量 . 因此我们考虑在应用程序进入后台时暂停根传奇 . 可能吗?

1 回答

  • 1

    使用Page Visibility API,您可以使用document.hidden检查应用程序是否在后台,并收听事件visibilitychange以响应更改 .

    使用它可以暂停和恢复 Watch .

    无论如何,如果不是轮询,你可以设法在值发生变化时接收事件,效率会更高 .

相关问题