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

Xiaomi lança Redmi Note 10 5G com promessa de bateria que dura dois dias

Redmi Note 10 5G - Xiaomi/divulgação
Redmi Note 10 5G Imagem: Xiaomi/divulgação

Renata Baptista

De Tilt, em São Paulo

22/06/2021 19h50Atualizada em 22/06/2021 20h43

Depois de um tempinho sem novidades, a Xiaomi tem feito uma série de eventos para lançar novos produtos. Do mês ado para cá, a empresa chinesa trouxe para o Brasil o Redmi Note 10 Pro e o Redmi Note 10S, o Poco X3 Pro e o Poco F3, o Mi 11 e, de quebra, a Mi Smart Band 6.

Hoje foi a vez do anúncio de mais um celular da família: o Redmi Note 10 5G, que veio com um preço um pouco mais atrativo que os demais: R$ 2.699. O valor mais baixo, porém, significa que algumas características do celular são mais modestas.

Ele é o único entre os lançamentos recentes da Xiaomi que não vem com tela Amoled, de maior qualidade, por exemplo, sendo equipado com uma tela LCD de 6,5 polegadas com resolução Full HD+ (2400 x 1080 pixels), com taxa de atualização de 90 Hz.

Redmi Note 10 5G - Divulgação - Divulgação
Redmi Note 10 5G
Imagem: Divulgação

No conjunto de câmeras, o Redmi Note 10 5G também fica atrás de seus irmãos, com uma lente principal de 48 MP — a câmera principal do 10S, por exemplo, tem 64 MP; e a do Note 10 Pro, 108 MP.

Completam o conjunto uma lente macro de 2 MP (para tirar fotos de pertinho sem perder o foco) e um sensor de profundidade de 2 MP (para borrar o fundo em fotos com "modo retrato"). A lente de selfie tem 8 MP.

O processador é o MediaTek MT6833 Dimensity 700 5G, aliado a 4 GB de RAM e 128 GB de armazenamento interno. Há entrada para fone de ouvido de 3,5 mm e e ao NFC - que permite pagamentos por aproximação.

Como o nome já adianta, ele tem conectividade com a rede de internet de quinta geração. É um dos celulares 5G com preço de lançamento mais baixo no Brasil, junto com o Galaxy A 32, da Samsung.

No papel, a bateria parece ser bem robusta, com 5.000 mAh de potência. A Xiaomi inclui ainda um carregador de 22,5 watts na caixa do produto. De acordo com a fabricante, Redmi Note 10 5G dura até dois dias sem precisar de carregamento.

Além do site oficial de vendas da Xiaomi no Brasil, o aparelho também está disponível nas lojas físicas da marca (nos shoppings Ibirapuera e Center Norte, em São Paulo) e em varejistas parceiros.

Qem fizer a compra até as 13h desta quarta-feira (23) no site oficial de vendas da Xiaomi no Brasil consegue uma promoção: leva ainda o par de fones de ouvido sem fio Mi True Wireless Earbuds Basic 2, tudo por R$ 2.299.

Ficha técnica

Redmi Note 10 5G

  • Tela: IPS LCD de 6,5 polegadas com resolução Full HD+ (2400 x 1080 pixels), proporção 20:9 e taxa de atualização de 90 Hz
  • Processador: MediaTek MT6833 Dimensity 700 5G e GPU Mali-G57 MC2
  • Memória: 4 GB de RAM e 128 GB
  • Câmera traseira tripla: principal: 48 megapixels (f/1,8); macro: 2 megapixels (f/2,4); profundidade: 2 megapixels (f/2,4)
  • Câmera frontal: 8 megapixels (f/2,0)
  • Bateria: 5.000 mAh com carregador rápido de 22,5 W
  • Cores: Chrome Silver (prata), Nighttime Blue (azul), Graphite Gray (cinza) e Aurora Green (verde)
  • Dimensões: 161,8 x 75,3 x 8,9 mm e 190 gramas