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

Entenda para que servem os principais componentes do seu smartphone

CoffeeAndMilk/ iStock
Imagem: CoffeeAndMilk/ iStock

Wagner Pedro

Colaboração para Tilt

06/11/2022 04h00

Escolher um novo smartphone pode não ser uma tarefa simples. Afinal, mesmo nos mais básicos, é comum encontramos uma lista com todas as especificações, incluindo o tamanho da tela, processador embarcado, sensores e outros detalhes.

É uma confusão de números, unidades de medida, abreviações e nomes em inglês, que nem sempre facilita a vida de quem não é especializado no assunto.

Abaixo, algumas informações importantes para você entender cada parte do celular e poder avaliar as informações corretas na hora da compra.

Tela

É o componente mais evidente em um celular. Todo mundo sabe reconhecer. Mas é "por dentro" que acontece toda a "mágica". Há duas tecnologia disponíveis no mercado:

  • LCD (que podem ser do tipo IPS ou variantes)
  • LED (que podem ser do tipo AMOLED, Super AMOLED e variantes).

As telas LCD (sigla em inglês para "tela de cristal líquido") são as mais comuns por serem baratas de produzir. No geral, esse padrão exibe cores decentes, mas peca na qualidade de tons mais escuros.

Já os painéis de LED (sigla em inglês para "diodo emissor de luz") trazem uma maior definição de cores, um preto realmente escuro e ampla faixa dinâmica (ou seja, consegue captar luz numa variação mais ampla)

O LED é bem mais caro, por isso só aparece com mais frequência em celulares topos de linha (embora não seja exclusivo da categoria e já esteja disponível em modelos intermediários).

SoC (System-on-a-chip)

O SoC é um componente de silício que reúne as partes essenciais para o funcionamento de um smartphone:

  • U ("unidade de processamento central", na sigla em inglês)
  • GPU ("unidade de processamento gráfico")
  • modem LTE (responsável pela conexão de dados)
  • processador de tela/vídeo e muito mais

O mercado está repleto de fabricantes de chips, como Qualcomm, MediaTek, Samsung, Huawei e Apple.

Apesar de cada peça ser importante, é importante dar uma atenção extra ao chip, conferindo a quantidade e velocidade dos núcleos do processador (U). A maioria traz oito núcleos com velocidade acima de 2,0 GHz, um padrão decente para os dias atuais.

A U, que pode ser considerada o "cérebro" do celular, trabalha no gerenciamento das tarefas do sistema. Portanto, ter um processador competente é essencial para o bom funcionamento do aparelho.

Memória e armazenamento

Todos os smartphones trazem uma memória RAM (sigla em inglês para "memória de o randômico") e uma determinada quantidade de armazenamento interno.

A RAM é responsável pelo armazenamento temporário de informações que podem ser úteis para o sistema em algum momento. Por exemplo, quando você inicia um aplicativo, a memória RAM "guarda" os principais dados para agilizar a abertura e até mesmo evitar a perda de informações. No entanto, após encerrar o app ou desligar o celular, os dados são apagados para liberar espaço. Atualmente, a quantidade ideal é acima de 6 GB.

O armazenamento interno, por outro lado, trabalha guardando suas fotos, vídeos, aplicativos ou qualquer outro tipo de arquivo. Ao contrário da memória RAM, os dados só podem ser excluídos pelo próprio usuário. O mercado está cheio de opções de armazenamento, mas o padrão estabelecido é de 128 GB.

Câmera

As câmeras dos celulares modernos são compostas de três partes:

  • lente
  • sensor
  • processador de imagem (ISP)

As lentes são o primeiro o para a construção de uma foto. Antes da luz atingir o sensor, ela a por um pequeno orifício dentro do módulo de câmera do aparelho. O tamanho desse "buraco" é conhecido como abertura.

Após permitir a agem de luz, a lente direciona a quantidade recebida para o sensor, que fica responsável por transformar fótons (luz) em elétrons (sinais elétricos). Em seguida, o ISP trabalha para converter a informação recebida em um arquivo de qualidade, trazendo de volta as cores e aplicando automaticamente algum nível de remoção de ruído e nitidez.

Durante muito tempo, os megapixels foram considerados a parte essencial da câmera de um smartphone. Apesar de serem importantes, o que realmente trará qualidade às fotos é o sensor utilizado, a quantidade de luz recebida e de que forma o processador de imagem trabalha.

Sensores

Aqui não estamos falando dos sensores da câmera, e sim do próprio aparelho. São ferramentas pequenas, mas extremamente úteis, que captam informações físicas ao redor do smartphone e as ream para apps e outras ferramentas. São eles:

  • Acelerômetro (usado para detectar a movimentação do telefone)
  • Giroscópio (responsável por detectar a rotação do telefone)
  • Bússola Digital (identifica e informa os pontos cardeais para auxiliar na navegação por GPS)
  • Sensor de luz (ajusta o brilho da tela automaticamente com base na luz do ambiente)
  • Sensor de proximidade (bloqueia a tela automaticamente ao detectar seu rosto, evitando toques acidentais durante uma chamada)