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

Galaxy Z Fold 3, S21 FE e mais: confira novidades que a Samsung deve lançar

Samsung Galaxy Fold 3 - Reprodução/Twitter @evleaks
Samsung Galaxy Fold 3 Imagem: Reprodução/Twitter @evleaks

De Tilt, em São Paulo

13/07/2021 12h57Atualizada em 13/07/2021 14h58

A Samsung deve realizar em agosto mais um evento de lançamento de produtos. Ainda não há muitas informações, mas os rumores ficam cada vez mais quentes. No mais recente, GIFs com supostas imagens da nova versão do Galaxy Z Fold, o celular com tela dobrável da fabricante, foram compartilhadas na internet.

Além delas, aparecem animações dos celulares Galaxy S21 FE e do Galaxy Z Flip 3 (o dobrável), dois outros modelos aguardados pelos fãs da marca. O responsável pela publicação foi Evan Blass, que já vazou imagens de outros aparelhos da Samsung e de iPhones anteriormente.

Galaxy Z Fold 3

O nome ainda não foi confirmado, mas especula-se que ele será vendido nas cores preto, verde e branco. A expectativa é ele tenha e à caneta S Pen.

Uma das grandes novidades será a câmera frontal oculta sob o display. Aberta, a tela será de 6,3 polegadas (16 cm), o display total terá 7,55 polegadas (19,17 cm).

O novo aparelho também deverá ter e à rede 5G e configuração de 12 GB de memória RAM (aquela que ajuda no desempenho do processador. O número é altíssimo para os padrões atuais).

Rumores indicam que o preço do novo Galaxy Z Fold 3 pode girar entre US$ 1.654 e US$ 1.732 (R$ 8.915,06 e R$ 9.335,48, respectivamente na conversão direta).

Galaxy Z Flip 3 e Galaxy S21 FE

As animações também mostram supostas imagens do Galaxy S21 FE e do Galaxy Z Flip 3. O celular dobrável deve ser vendido nas cores roxo, preto, dourado ou verde.

O modelo Flip terá e 5G, 8 GB de memória RAM e 256 GB de armazenamento interno, de acordo com rumores que circulam no mercado internacional. A tela, quando desdobrada, será de 6,7 polegadas (17 cm). O display externo pode ser de 1,9 polegadas (4,8 cm).

O preço do novo Z Flip pode ficar entre US$ 1.100 e US$ 1.300. Convertendo hoje (sem taxas e impostos), os valores em reais ficam em: R$ 5.929 e R$ 7.007.

Galaxy Watch 4

Para quem gosta de smartwatch, a Samsung trabalha na nova geração de seu relógio. Segundo os rumores, ela está perto de lançar pelo menos dois novos modelos, o Galaxy Watch 4 e o Galaxy Watch 4 Classic.

Ambos deverão ter e para rodar a plataforma UI Watch, que opera os sistemas da Samsung e do Google para smartwatches.

Galaxy Buds 2

Por último, há imagens dos fones de ouvido Galaxy Buds 2. Há alguns dias, outro vazamento havia mostrado fotos do fone sem fio, que deverá ser lançado nas cores branco, cinza e roxo.

Segundo Blass, o evento oficial de lançamento da Samsung será no dia 11 de agosto.

*Com informações dos sites "Phone Arena" e "Android Central"