;(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

Saúde

Sintomas, prevenção e tratamentos para uma vida melhor


Exame de sangue detecta Alzheimer até 16 anos antes dos primeiros sintomas

Os cientistas mostraram que a proteína se acumula no sangue muito antes do início dos sintomas - iStock
Os cientistas mostraram que a proteína se acumula no sangue muito antes do início dos sintomas Imagem: iStock

Do UOL VivaBem, em São Paulo

26/01/2019 04h00

Pesquisadores da Universidade de Tuebingen, na Alemanha, descobriram que uma proteína encontrada no sangue pode ser usada para prever se um paciente terá Alzheimer até 16 anos antes do início dos sintomas. O estudo foi publicado na revista Nature.

Trata-se de uma proteína chamada neurofilamento de cadeia leve (NFL, na siga em inglês) que funciona como um marcador no sangue que dá uma indicação de perda de células nervosas no cérebro.

Esta proteína se acumula no sangue das pessoas muito antes da doença se manifestar, provocando danos cerebrais e outras doenças, como esclerose múltipla. "A doença de Alzheimer começa pelo menos uma década, talvez até 20 anos, antes de termos qualquer sintoma", disse Mathia Jucker, um dos autores do estudo.

Durante o trabalho científico, os cientistas mediram a taxa de mudança de NFL em 405 voluntários, que eram portadores de uma mutação genética herdada dos pais.

Todos aram por exames de sangue, imagens do cérebro e testes cognitivos. Ao analisar os resultados, os cientistas verificaram que os pacientes que apresentaram um erro genético e concentração elevadas da proteína e que ela aumentava ao ar dos anos. Já as pessoas com um gene "normal" tinham níveis baixos e estáveis da mesma proteína.

Embora os resultados sejam promissores, o teste ainda não pode ser feito no Brasil. Jucker adverte ainda que o teste não é específico para a doença de Alzheimer.

Segundo o especialista, níveis mais altos de neurofilamento indicam danos cerebrais, mas isso também pode ser provocado por lesões cerebrais causada por um acidente, por exemplo.

VivaBem no Verão

O UOL VivaBem está no litoral paulista com o VivaBem no Verão. Um espaço com atividades para você se exercitar, mas também curtir e relaxar na entrada da Riviera de São Lourenço. Venha nos visitar!

Data: do dia 27 de dezembro de 2018 ao dia 03 de fevereiro de 2019, de quinta a domingo
Horário: das 16h às 00h
Endereço: Avenida da Riviera, ao lado do shopping, na praia de Riviera de São Lourenço
Entrada: gratuita

SIGA O UOL VIVABEM NAS REDES SOCIAIS
Facebook - Instagram - YouTube