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

5 coisas que você precisa saber sobre a série Redmi Note 8, da Xiaomi

Redmi Note 8 Pro é o primeiro celular a ter uma câmera de 64 MP - Divulgação
Redmi Note 8 Pro é o primeiro celular a ter uma câmera de 64 MP Imagem: Divulgação

Rodrigo Trindade

De Tilt, em São Paulo

29/08/2019 14h39

Uma das séries de smartphones mais populares do momento ganhou sua nova versão nesta quinta-feira (29), quando a chinesa Xiaomi anunciou os modelos Redmi Note 8 e Redmi Note 8 Pro. Os celulares da categoria intermediário chegarão à China no próximo dia 3 de setembro pelo preço de 999 yuans (aproximadamente R$ 581) e 1.399 yuans (aproximadamente R$ 814), respectivamente.

Como a marca é a quarta maior do mercado de smartphones no mundo e vem ganhando espaço no Brasil, decidimos apresentar algumas das novidades desses modelos que você precisa saber, afinal a duplinha pode pintar por aqui nos próximos meses.

1) A primeira câmera de 64 MP em um celular

Dando sequência a uma tendência de smartphones com câmeras com muitos megapixels, o Redmi Note 8 Pro é o primeiro aparelho anunciado oficialmente que vem equipado com uma câmera de 64 MP. O sensor é da Samsung e é o da câmera principal do celular, que conta com mais três lentes.

Uma delas é uma grande angular de 8 MP, outra é um sensor de profundidade de 2 MP e a última é um sensor macro de 2 MP, usado para melhorar aquelas fotos tiradas bem de perto.

2) A dupla tem câmera quádrupla

O Redmi Note 8 Pro é o primeiro a ter uma câmera de 64 MP, mas a versão normal do celular também tem um conjunto de sensores poderoso. O principal tem 48 MP, enquanto os outros repetem as configurações do Pro: grande angular de 8 MP, sensor de profundidade de 2 MP e o sensor macro de 2 MP.

No design, há uma diferença crucial no posicionamento das câmeras. Enquanto todas do 8 Pro estão alinhadas no centro do celular, com direito ao sensor de digital acoplado ao sistema, no 8 comum elas estão alinhadas no canto superior esquerdo da traseira do celular, enquanto o sensor de digital fica solitário nas costas do aparelho.

3) Bateria para longas sessões de uso

Os dois novos modelos prometem uma boa independência das tomadas. O Redmi Note 8 mantém o que a Xiaomi adotou para seu antecessor, trazendo uma bateria de 4.000 mAh. Sempre é preciso ver na prática o que isso significa, mas toda essa capacidade de carga normalmente corresponde a pelo menos um dia e meio de uso sem necessidade de recarregar.

No caso do Redmi Note 8 Pro, a tendência é que o celular aguente ainda mais tempo sem precisar de uma carga, já que a bateria dele tem 4.500 mAh. Não é a maior do mercado, já que modelos como Zenfone 6 e Moto G7 Power têm baterias de 5.000 mAh, mas é um recorde para essa linha da Xiaomi.

4) Telas, câmeras de selfie e processadores diferentes

Embora sejam da mesma linha, os dois modelos têm algumas diferenças cruciais. Ambos usam telas de LCD com resolução Full HD+, mas a do Redmi Note 8 Pro tem 6,53 polegadas contra 6,3 do Redmi Note 8. No topo da tela, os dois têm um entalhe no formato de gota onde está a câmera frontal, que tem 20 MP no 8 Pro e 13 MP no 8.

Os processadores talvez sejam a maior diferença entre os smartphones, já que o Redmi Note 8 Pro usa o Helio 690T da taiwanesa MediaTek, enquanto o Redmi Note 8 vem equipado com o Snapdragon 665, da americana Qualcomm.

5) Sem previsão para o Brasil

A Xiaomi ou a vender seus produtos no Brasil em junho deste ano, quando foi inaugurada uma loja da marca em um shopping de São Paulo. Desde então, ela anunciou a chegada do Mi 9T ao mercado brasileiro. Ficamos curiosos de haveria alguma novidade com relação à linha Redmi Note 8.

A resposta que recebemos da empresa foi que, no momento, não há previsão para a chegada dos novos smartphones ao nosso território. Em seu site oficial, a empresa vende o Redmi Note 7 por R$ 1.999,99. Segundo a Xiaomi, o modelo vendeu 20 milhões de unidades no mundo até o final de junho de 2019.

SIGA TILT NAS REDES SOCIAIS