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

Lembra do Motorola Razr V3? Celular flip voltou com tela flexível e moderna

Motorola Razr ganhou um belo "banho de loja" - Divulgação/Motorola
Motorola Razr ganhou um belo "banho de loja" Imagem: Divulgação/Motorola

De Tilt, em São Paulo

14/11/2019 06h44Atualizada em 14/11/2019 12h19

Sem tempo, irmão

  • Motorola trouxe de volta o modelo Razr, aquele que você teve no começo dos anos 2000
  • A versão evoluída do smartphone tem o famoso formato flip, mas com tela flexível
  • Como dobra ao meio, o aparelho fica compacto, mas ainda garante uma telona

A Motorola anunciou nesta quinta-feira (14) a volta do modelo queridinho Razr, aquele celular que fez sucesso no começo dos anos 2000. Agora, claro, ele vem numa versão super evoluída, mas sem perder uma das suas principais características: o formato flip.

A tela é flexível e dobra completamente ao meio, de modo que o aparelho fica compacto e cabe facilmente no bolso sem comprometer a experiência de uma tela grande, sonho de consumo da galera. O vidro é o Gorila Glass 3D.

Quando aberto, ele garante uma experiência mais imersiva, com a tela dobrável Flex View de 6,2" (15,7 cm) e proporção 21:9, ou seja, bem estreito e comprido.

Quando fechado, o celular conta com uma tela interativa Quick View, que ajuda a ar rapidamente informações importantes, fazer chamadas, responder o WhatsApp, fazer pagamentos, controlar suas músicas, tirar selfies e utilizar o Google Assistente.

Motorola Razr - Divulgação/Motorola - Divulgação/Motorola
Motorola Razr
Imagem: Divulgação/Motorola

A câmera interna é de 5 MP e f/2.0, enquanto a externa é de 16 MP e f/1.7. Ela possui recursos como Night Vision, que combinar oito quadros em diferentes exposições para garantir uma boa imagem em ambientes de pouca luz, e a Inteligência Artificial integrada, que permite tirar aquela foto da galera sem tocar na câmera. O modo analisa automaticamente rostos e faz o clique quando todos estiverem sorrindo. O pós-processamento das fotos também é inteligente e analisa a cena para sugerir otimização da imagem e composição mais adequada.

O aparelho é revestido de aço inoxidável e leva uma camada protetora que oferece resistência a respingos d'água acidentais, mas a fabricante destaca que não é à prova d'água e não pode ser submerso.

No entanto, a Motorola ressalta que investiu muito na tecnologia "zero gap", um sistema patenteado de fechamento que permite que ambos os lados da tela flexível se fechem perfeitamente, protegendo-a da sujeira e poeira.

Outra novidade foi a antena, redesenhada para caber no tamanho do celular fechado (metade do tamanho dos smartphones atuais).

O processador Snapdragon 710 não é o mais top da Qualcomm, mas é um bom processador e está presente no Xiaomi Mi 9 Lite e no Galaxy A8s.

A memória RAM é de 6 GB, e o armazenamento é de 128 GB. Ele vai rodar o sistema operacional Android 9 (Pie).

Segundo a Motorola, o aparelho chegará ao mercado brasileiro a partir de janeiro — o preço ainda não foi divulgado. Lá fora, a operadora Verizon disse que o Razr custará US$ 1.500.

Ficha técnica

  • Tela dobrável de 6.2" 21:9
  • Processador Snapdragon 710
  • 6 GB de memória RAM e 128 GB de armazenamento
  • Câmera principal de 16 MP e f/1.7
  • Câmera frontal de 5 MP e f/2.0
  • Sistema operacional: Android 9 Pie
var Collection = { "path" : "commons.uol.com.br/monaco/export/api.uol.com.br/collection/tilt/lancamentos/data.json", "channel" : "tecnologia", "central" : "tilt", "titulo" : "Lançamentos", "search" : {"tags":"79815"} };