;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Equilíbrio

Cuidar da mente para uma vida mais harmônica


Reativar memórias durante o sono pode melhorar habilidades motoras

iStock
Imagem: iStock

Alexandre Raith

Agência Einstein

19/11/2021 16h46

O sono, além de restaurar o corpo, também pode melhorar o aprendizado de novas habilidades motoras e contribuir na reabilitação de pacientes após um Acidente Vascular Cerebral (AVC). O caminho seria pela reativação da memória, segundo uma pesquisa desenvolvida pela Universidade Northwestern, nos Estados Unidos.

A descoberta foi feita com o auxílio de um dispositivo de treinamento em videogame, chamado de interface computacional mioelétrica (MyoCI, na sigla em inglês), criado pelos pesquisadores. Nele, os participantes praticaram 16 movimentos que exigiam a ativação de um músculo, ou de um grupo muscular específico. Cada novo comando era acompanhado de um som diferente.

Na segunda etapa do estudo, os voluntários repetiram os movimentos, mas com os olhos vendados. Eles eram guiados pelos sons experimentados anteriormente. Na sequência, dormiram por 90 minutos.

Durante o cochilo, os pesquisadores estimularam a memória dos voluntários ao reproduzirem oito dos 16 sons acionados no jogo, um a cada cinco segundos. A reativação era feita apenas quando os participantes atingiam o sono de ondas lentas, ou o sono profundo, e em volume baixo para não acordá-los.

A hipótese era que as pistas sonoras fortaleceriam a memória dos oito movimentos que eles tinham aprendido na primeira sessão, reforçando o aprendizado. E esse foi o resultado encontrado.

Ao praticarem a atividade novamente, agora acordados, esses movimentos foram executados com mais rapidez e eficiência, em comparação com os que não haviam sido estimulados no cochilo. Além disso, menos músculos supérfluos foram ativados.

"Esses resultados demonstraram que a reativação da memória durante o sono contribui para aprender a executar uma ação. Nós concluímos que o sono colabora com a aprendizagem de novas ações, o que também oferece o caminho do aprendizado necessário em certos procedimentos de reabilitação neurológica", destacam os pesquisadores em artigo publicado no periódico Journal of Neuroscience.

A habilidade conferida no estudo, acreditam os autores, teria relevância para os campos da neurorreabilitação, aprendizado motor, cinesiologia e fisiologia.

Danos neurológicos

A interface desenvolvida pelos pesquisadores já era usada como parte do tratamento de pacientes com dificuldades de movimentar os braços após um AVC. O que o estudo indica é que, com a reativação da memória durante o sono, uma melhora poderia ser alcançada mais rapidamente.

"Os resultados sugerem que essa estimulação do sono pode potencialmente acelerar a reabilitação em sobreviventes de AVC, assim como em qualquer distúrbio neurológico que precise de uma reabilitação motora", segundo Marc Slutzy, professor da Universidade Northwestern, e um dos autores do estudo, em comunicado divulgado pela instituição.