• Offline Storage for Progressive Web Apps


    Offline Storage for Progressive Web Apps

    The Progressive Web App uses IndexedDB for application state and the Pokemon data set while the Cache API is used for URL addressable resources.

    2016 will hopefully be the year we build for network resilience.

    Internet connections can be flakey or non-existent on the go, which is why offline support and reliable performance are common features in Progressive Web Apps. In this post, I’ll summarize some ideas around offline data storage for PWAs — think the JSON payloads, images and general static data required to provide a meaningful experience offline.

    A recommendation for storing data offline:

    For URL addressable resources, use the Cache API (part of Service Worker). For all other data, use IndexedDB (with a Promises wrapper).

    Some quick answers to common questions on why:

    • Both APIs are asynchronous (IDB is event based and the Cache API is Promise based). They also work in Web Workers, Window and Service Workers.
    • IDB is available everywhere. Service Workers (and the Cache API) are available in Chrome, Firefox, Opera and are in development for Edge.
    • While IDB doesn’t support Promises, several strong libraries giving us Promise wrappers exist. See below for recommendations. The API has mandatory complexity (transactions, schema versioning) that these libraries also try to smooth over where possible.
    • Native support for IDB Promises has been proposed as have observers.
    • How much can you store? In Chrome and Opera: Your storage is per origin (rather than per API). Both storage mechanisms will store data until the browser quota is reached. Apps can check how much quota they’re using with the Quota Management API. Firefox: no limits, but will prompt after 50MB data stored. Mobile Safari: 50MB max, Desktop Safari: unlimited (prompts after 5MB), IE10+ maxes at 250MB and prompts at 10MB. PouchDB track IDB storage behavior. Future facing: For apps requiring more persistent storage, see the on-going work on Durable Storage.
    • Safari 10 has fixed many long-standing IDB bugs in their latest Tech Previews. That said, some folks have run into stability issues with Safari 10’s IDB and PouchDB have found it to be a little slow. Until more research has been done here, YMMV. Please do test and file browser bugs so the folks @webkit and related OSS library authors can take a look. LocalForage, PouchDB, YDN and Lovefield use WebSQL in Safari by default due to UA sniffing (there wasn’t an efficient way to feature-test for broken IDB at the time). This means these libraries will work in Safari 10 without extra effort (just not using IDB directly).
    • URL addressable resources are typically static resources that at a URL. For PWAs, you could cache the static files composing your application shell (JS/CSS/HTML files) in the Cache API and fill in the offline page data from IndexedDB. There are no hard and fast rules around this however. Some applications might be sufficiently simple that they can just use the Cache API alone while others may find it valuable to partially cache their JSON payloads in IDB so that in browsers without Cache API support you still get the benefit of some local caching during the session.
    • Debugging support for IndexedDB is available in Chrome (Application tab), Opera, Firefox (Storage Inspector) and Safari (see the Storage tab). Debugging IDB is not currently supported in Edge (however, it is possible to debug the underlying JetDB) — vote here for built in support.

    IndexedDB Libraries worth checking out

    • localForage(~8KB, Promises, good legacy browser support)
    • idb-keyval (<500 bytes, Promises, use if only need key-value support)
    • idb (~1.7KB, Promises, also does iteration, indexing)
    • Dexie (~16KB, Promises, complex queries, secondary indices)
    • PouchDB (~45KB (supports custom builds), synchronization)
    • Lovefield(relational)
    • LokiJS (in-memory)
    • ydn-db(dexie-like, works with WebSQL)

    Service Worker Libraries worth checking out

    • sw-toolbox (offline caching for dynamic/runtime requests)
    • sw-precache (offline precaching for static assets/application shells)
    • Webpack users can directly use the above or offline-plugin

    What about other storage mechanisms?

    • Web Storage (e.g LocalStorage) is synchronous, has no Web Worker support and is size-limited (only strings). Although ideas for async LS have been kicked around in the past, current focus is on getting IndexedDB 2.0in a good state. I would personally use IDB + a library.
    • Cookies have their uses but are synchronous, lack Web Worker support and are size-limited. In previous projects I’ve used js-cookie for handling cookies via JS (~800bytes gzipped). Support for an Async Cookies API is being sketched out right now with a polyfill in the works.
    • WebSQL is asynchronous (callback-based), however it also has no Web Worker support and was rejected by Firefox and Edge but is in Chrome and Safari.
    • File System API is asynchronous too (callback-based) and does work in Web Workers and Windows (albeit with a synchronous API). Unfortunately it doesn’t have much interest outside of Chrome and is sandboxed (meaning you don’t get native file access).
    • File API is being improved over in the File and Directory Entries API and File API specs. A File API library exists and for file-saving, I’ve been using FileSaver.js as a stop-gap. The writable-files proposal may eventually give us a better standards-track solution for seamless local file interaction.

    Current and future offline storage work

    If offline storage interests you, the below efforts are worth keeping an eye on. I’m particularly excited about Promises support in IndexedDB being possible without the need for a library.

    IDB with some sweet await goodness.


    Offline storage isn’t quite magical and an understanding of the underlying APIs will go far in helping you make the most out of what we now have available. Whether you prefer to directly use these APIs or work with an abstraction library, take some time to get familiar with your options.

    Hopefully this will help craft an offline experience that makes your PWA ✨

    With thanks to Nolan Lawson, Joshua Bell (whose work on Open Web Storage and BlinkOn talk heavily inspired this article), Jake Archibald, Dru Knox and others for their previous work in the web storage space.

    Update September 2nd 2016 with some more FAQ:

    What eviction gotchas exist for IndexedDB and the Cache API? Is it possible to currently guarantee that a response will always be available offline?

    An origin is given an amount of space to do with as it pleases. This free space is shared across all forms of origin storage (IndexedDB, Cache API, localStorage etc). This amount given isn’t specified and will vary depending on device and storage conditions (e.g if the device is already pretty constrained).

    When web storage is low (under pressure), a UA will clear storage to make space available. This can suck for offline apps and so the recently updated Storage spec defines a “persistent” and “best effort” strategy here with “best effort” being the default. “best effort” means the storage can be cleared without interrupting the user, but means it is less durable for long-term or super critical data. IndexedDB and the Cache API fall into the “best effort” bucket today.

    “persistent” storage is not automatically cleared when storage is low and the user will need to manually clear out this storage (via browser settings) themselves. Chrome has been experimenting with support for Persistent Storage under an origin trial, and the latest news suggests it will be shipping in Chrome 55.

    How can I tell how much storage space my app is using?

    The Quota Management API lets you query for the size of storage space currently used and how much is available to the application. It also enables requesting for more storage if needed. A newer Storage Quota Estimate APItries to make it even easier to discover how much quota an origin is using with support for Promises.


  • - erro 404 (not found) ao tentar clonar um repositório


    Para quem está com problemas sobre não conseguir clonar um repositório do GitLab fica a dica.

    Resumindo: o problema é sobre a credencial salva no Windows não aceita pelo GitLab.

    Abaixo a tela de erro após tentar clonar pelo TortoiseGit (com qualquer aplicativo daria problema):

    Mesmo após tentar configurar as credenciais avulsas o Git insistia em buscar a configuração que estava gravada no Windows (10):

    Esse era o motivo, a credencial salva no Windows estava sendo aplicada mesmo eu indicando outra, no caso do GitLab a mensagem de erro retornada não é nada sugestiva diga-se de passagem, sendo retornado um erro HTTP 404, sendo que o erro é de credencial inválida.

    No meu caso eu preferi editar a credencial existente com o usuário e senha corretos:

    Após a correção o processo de clonagem do repositório funcionou sem problemas:



  • LG G3/G4 bootloop não é problema de software, mas de hardware


    (reprodução - link original no final)

    LG G4 está no centro de uma disputa judicial nos EUA devido a um problema conhecido como bootloop: o aparelho fica na tela de boot e nunca entra no Android.

    Segundo o Ars Technica, uma ação civil pública acusa a LG de substituir aparelhos com bootloop por outras unidades com o mesmo defeito, e apenas se o cliente estiver no período de garantia.

    Laura Lane e Rosalene Mullins, que fazem parte do processo judicial, compraram dois G4 e eles tiveram o problema de bootloop. A LG realizou a troca, mas os novos smartphones também tinham o problema. Agora no terceiro G4, ambas reclamam de lentidão, engasgos e superaquecimento – sinais de que o bootloop está prestes a ocorrer.

    Edward Pistorio, que também faz parte do processo, diz que a LG substituiu duas vezes o G4 dele – e o terceiro já “está manifestando sinais do defeito de bootloop”. Enquanto isso, o G4 da esposa dele parou de funcionar devido ao mesmo problema, só que a LG se recusa a trocá-lo porque a garantia expirou.

    O processo alega que o processador está inadequadamente soldado à placa-mãe, tornando-o “incapaz de resistir ao calor”. Inicialmente, os aparelhos começam a sofrer engasgos, travamentos, superaquecimento e reinicialização aleatória. Com o tempo, eles param de funcionar completamente.

    No início de 2016, a LG admitiu que o G4 tem problemas de bootloop causados por “mau contato entre os componentes”. (Um usuário do Instructables diz que consertou o smartphone dele após desmontá-lo e aplicar ar quente no processador por vários minutos.) A empresa se comprometeu a resolver o problema de bootloop dentro da garantia.

    O problema é que, segundo a ação judicial, ela só estava trocando um aparelho defeituoso por outro:

    Apesar desta admissão, a LG não fez um recall nem ofereceu uma solução adequada para os consumidores que compraram o smartphone G4. Em vez disso, ela substituiu aparelhos com defeito dentro do período de garantia de um ano com modelos que tinham o mesmo defeito. E a LG se recusou a fornecer qualquer solução para quem comprou o G4 e teve o problema de bootloop fora do período de garantia.

    A ação civil pública, aberta em um tribunal federal da Califórnia, quer compensação por danos “em montante a ser determinado no julgamento”, além de um “programa abrangente para consertar todos os aparelhos da LG com o defeito de bootloop”.

    No Brasil, diversas pessoas se queixam do bootloop no Reclame Aqui e em comunidades do Google+, alegando que o LG G4 precisa ir várias vezes para a assistência técnica. Muitos também mencionam problemas de burn-in na tela (distorções e manchas na imagem). Entramos em contato com a LG, que não comentou o caso até a publicação desta matéria.


  • Quanto vale um iPhone 4S 8GB no iPlace? 80 reais


    É isso aí, se você pretende trocar o seu iPhone velho guerreiro, que está em perfeito estado, o iPlace "valoriza" em 80 reais.

    ...sendo que o preço médio de venda é na casa de 400 reais ou um pouco mais, novo ou usado.

  • Piadas Sirianas (Siri iOS) #1


    Por mais que em termos funcionais e precisão o Google Now esteja bem à frente da Siri, uma coisa é fato, ela tem um senso de humor que o robô da Google não chega nem perto de simular, apesar da piada ser sem graça. 😆

  • 5 dicas para manter o espírito de startup e continuar crescendo


    Estive lendo esses dias um artigo bastante sucinto sobre empreendedorismo que achei interessante compartilhar.

    Por Felipe Almeida*

    Começar um negócio, muitas vezes, é o passo mais fácil de ser dado. Muitos se encantam com a ideia, considerando a estabilidade e a segurança que a vida de um funcionário oferece. Ledo engano. O mundo do empreendedorismo trata de tudo, menos de segurança e estabilidade. Lançar-se ao mundo do “meu próprio negócio” é enfrentar muitos monstros. É enfrentar-se. Olhar no espelho e ter auto-consciência de que é preciso muito mais que um sonho. É, no mínimo, ter muita resiliência e perseverança.

    No meu caso, a veia empreendedora é genética. Venho de uma família de self-made men e women. Meu pai começou como engraxate. Foi longe. E continua indo. Dentre as lições que aprendi, em casa, e no mundo dos negócios, seleciono 5 dicas para que sua empresa nunca perca o espírito livre e leve de uma start-up, mesmo quando começar a alçar – os tão sonhados – voos mais altos.

    1- Descubra o seu talento. Mas seja bom em várias áreas.

    Quando começar, você deve perceber que você tem talentos, competências e habilidades ainda muito cruas. Para um empreendedor, considero fundamental ter um talento em uma área específica, mas acredito ser de grande importância que o mesmo conheça outras áreas e tenha capacidade de executar e organizar várias tarefas ao mesmo tempo.

    Estou convencido de que empreendedores de sucesso têm uma elevada capacidade de multiprocessamento, pois precisam liderar assuntos organizacionais e de mercado, como montar um time de alta performance e processos bem desenhados, definir qual a melhor estratégia para atrair clientes, além de tratar questões como receita, custos, impostos, emprés- timos, investimentos etc.

    Mas você naturalmente não vai conseguir fazer tudo sozinho.

    2– Associe-se a pessoas tão talentosas quanto seu negócio merece

    É nessa hora que uma sociedade possibilita uma melhor divisão de tarefas e comando dos processos diários. Não tente dar conta de tudo. Você não dará. E o custo será alto.

    Existe, no entanto, um aspecto fundamental para o sucesso de uma sociedade: a complementaridade de qualidades e pontos fortes de cada um dos sócios. Mais importante ainda, os sócios precisam ter valores e princípios de vida parecidos.

    Você e seus sócios precisarão sonhar juntos. Mas o espírito de equipe morre na praia se não puderem realizar o negócio juntos.

    3– Olhe em volta e saia da concha

    Não é só a sociedade que será importante para a maturação e crescimento da sua empresa. Você precisará, de fato, respirar outros ares.

    Essa foi para mim uma grande lição: em qualquer situação de nossas vidas, seja de trabalho ou pessoal, é fundamental conhecer pessoas. Pessoas que ajudaremos e que também poderão ser nossos aliados quando for necessário.

    Mas isso precisa ser natural. Relações de cunho interesseiro são logo percebidas e desmanteladas. Cuidado com esse jogo. Ele nunca vale a pena.

    Por isso, crie uma rede verdadeira. Tenha um hobby. Interesse-se legitimamente pelas pessoas. Faça mais amigos e aprenda com todos eles.

    Mas não entre em uma zona de conforto de só expandir suas relações com pessoas com quem tenha afinidade. A maior riqueza será aproximar-se daqueles que, num primeiro olhar, pouco têm a ver com você. Seja diverso e, novamente, aprenda com diferentes pontos de vista.

    4– Não espere ter certeza para agir

    Errar faz parte. E como! Empreender é a arte de encarar o novo, o desconhecido. Por isso, será muito difícil ter sucesso com uma atitude extremamente conservadora, na qual se busca 100% de certeza para se tomar uma decisão.

    É claro que pesquisa, números e informações sobre mercados são fundamentais para se montar um plano de negócios com uma chance maior de sucesso, mas o empreendedor precisa ter intuição, paixão e – uma grande dose - de coragem para alcançar os objetivos sonhados.

    Infelizmente, por aqui, o fracasso é muito malvisto. Em outros países com altos índices de empreendedorismo como Estados Unidos, Israel e Reino Unido, o fracasso é visto com ótimos olhos, pois certamente irá preparar melhor aquele empreendedor para seu próximo negócio. Não tenha medo de fracassar se estiver convicto de que aquela é a melhor tentativa para o êxito! Uma vez, li que o que tem que ser punido não é o erro e sim a negligência. Isso serve como uma luva para o mundo do empreendedorismo.

    5– Seja honesto. E não abra mão disso.

    Meu pai sempre repetiu um ditado que diz: “Seu passado é seu futuro”. Ou seja, falta de ética e comportamentos duvidosos serão lembrados e terão grande impacto nas suas chances de sucesso. E isso é igualmente poderoso quando se tem um passado positivo, de alianças, de transparência e de confiança.

    Quando você errar, sua reputação perdurará. Cuide dela todos os dias. Ela vai te impulsionar novamente.

    Olhe para dentro. Não abra mão de suas verdades. Compartilhe seus sonhos. Crie sua rede. E bons negócios.

    *Felipe Almeida é cofundador e CMO da Zup, além de coautor do livro Jovens Empreendedores – Líderes do Brasil que dá certo




  • Como ganhar espaço no iPhone sem Jailbreak


    O iPhone (iOS) - e sua bola de ferro engessando os usuários que não fazem questão de liberdade - tem um sério problema de dependência do Jailbreak para os que porventura desejem às vezes destravar funções simples.

    Jailbreak é totalmente diferente do "root" nos Androids, esse destrava o usuário root (como um super usuário com todos os poderes) e a possibilidade fazer várias coisas a nível de sistema operacional, só que tais coisas são na grande maioria dos casos desnecessárias, o Android por si só, modelo funcional, já permite coisas nem sonhadas por qualquer usuário iOS, uma delas é rastrear e excluir efetivamente e sem ferramentas adicionais, exceto qualquer File Explorer que já venha instalado, conteúdo desnecessário. Nem vou comentar a necessidade de apenas excluir os dados salvos de programas (ex.: o guloso cache do Facebook e mídias salvas do Whatsapp).

    O objetivo não é comparar iOS versus Android, mas na minha necessidade obrigatória de uso de um iPhone esbarrei no espaço livre em memória (ahhh como faz falta um SD), que vai sumindo sem a gente nem perceber.

    A melhor ferramenta que vi sem dependência do Jailbreak foi o "PhoneClean", um programa instalado no PC ou Mac que mesmo na versão free ajuda a limpar diversos conteúdos não mais utilizados ou necessários dando uma visão geral e organizada da ocupação de espaço do seu iPhone.


  • A solução definitiva (ou não) sobre LG G3 D855P 16GB reiniciando sozinho (WiFi não liga e etc)




    Aviso dado, vamos lá então.

    Então um belo dia o seu LG G3 D855P 16GB começa a reiniciar sozinho e/ou o seu WiFi/Bluetooth não liga mais.Após várias pesquisas e testes consegui restaurar o funcionamento do meu LG G3 e entendi que há um problema em cascata que gera o tal loop no boot (reboot infinito algumas vezes).

    Comportamento estranho

    1. WiFi: se você tentar ligar aparecerá uma mensagem "Ligando..." eternamente e não liga, também não rastreando por nenhuma rede existente, também não se consegue desligar também (a switch fica como que ligando mas esmaecida).
    1. Bluetooth: ao ligar parece ok, mas não consegue conectar a nada mesmo conseguindo rastrear a existência de outros dispositivos. Também nenhum outro dispositivo consegue te rastrear.
    1. GPS: ao ligar parece como ok, em conjunto com a rede se celular consegue achar um local aproximado, mas não consegue triangular com nenhum satélite então não fixa o seu ponto.
    1. [3 semanas após a solução inicial] Rede Móvel: começou recentemente, deixei de usar tudo acima passando a usa os dados apenas do 3G/4G. Começou então a ocorrer o problema de reiniciar do nada ao ativar a rede móvel, ou seja, aquecimento exagerado e em algum momento reboot. Aparentemente não é que isso, aquecimento, cause o problema diretamente, mas que em algum momento após ativar, algo força a ativação do WiFi caindo no problema relacionado a isso (item 1).

    GPS e Bluetooth não vi gerar esse comportamento de aquecimento em excesso, mas aquece também, de qualquer maneira em algum momento acaba reiniciando o aparelho.

    Tentativas de solução

    Solução via software:

    Tentei todas as possibilidades via software mas nenhuma resolveu, ROMs custom, ROMs stock KitKat, stock Lolipop instalados via ferramenta oficial LG e nada funcionou.
    Inclusive levei num técnico - loja - que insistiu que seria isso, quebrou a cara quando viu que não era, eu já tinha falado que tinha tentado.

    Se não é software então é hardware, e deu para deduzir que os problemas ocorrem apenas na ativação dos "circuitos" relacionados à parte de rede/rádio, apesar de não afetar a ligações ou uso geral do aparelho.

    Com base nas tentativas de soluções de outros deduzi também que o problema não é necessariamente sobre "chip" estragado, mas solda fria (abaixo dá entender os motivos).

    O problema parece ser o mesmo sobre solda BGA de notebooks quando não ligam mais (tudo preto), também as 3 luzes vermelhas dos primeiros  XBox 360 (3RL) e as luzes amarelas nos primeiros Playstation 3 (YLOD), resumindo solda de qualidade ruim que com o tempo de esquenta-esfria acaba perdendo contato.
    Não sou técnico em eletrônica, mas dá para entender que faz todo o sentido essa explicação pelas diversas soluções propostas na Internet.

    Basicamente a solução sobre solda envolve dois tipos de processos:

    • Reflow (refluxo): Também chamado de ressolda, processo que se esquenta a solda a ponto de ela amolecer e então ao esfriar solidificar novamente no contato restaurando o que foi perdido. Apesar O Reflow é eficiente, mas não eficaz, pode voltar a dar problema novamente depois. 
    • Reballing: que é quando se faz o trabalho de tirar o chip e trocar a solda velha por uma nova, o que é o ideal pois dá mais garantias quando se usa solda melhor.

    Solução 1:

    Li sobre alguém que removeu a placa que contém os circuitos sobre o Wi-Fi e esquentou no fogão. Eu particularmente acho perigoso pois não temos controle nenhum sobre a temperatura e fora fuligem que sobe junto.

    Solução 2:

    Esquentar com secador por X minutos (poucos). É bom pois a principio se tem controle de temperatura, mas li gente questionando sobre campo eletromagnético gerado podendo danificar então os chips próximos.
    Como li em vários lugares na prática parece ser muito utilizado.

    Normalmente para ambas as soluções é o mesmo procedimento, desmontar para ter acesso à placa e então aplicar o calor por 1 ou 2 minutos é o tempo suficiente para amolecer o mínimo necessário a solda.
    O ideal é levar a um técnico que tenha ao menos uma estação de ressolda. O problema é que nenhum que eu conheça na minha cidade trabalha com isso ou pensa em tentar a solução dessa maneira, vai sempre para o lado sobre trocar a peça inteira, ou nem isso, prefere descartar o serviço.

    Solução 3:

    Há uma terceira solução, e que foi a que usei. Ficarei devendo as fotos, mas nos links no final do artigo tem a referência de onde peguei.
    Não envolve esquentar mas sim pressionar determinados pontos da placa a fim de forçar com que o contato dos chips ocorra nela. No caso eu utilizei pedaços de cartão de crédito entre a placa e a carcaça (precisa desparafusar).
    Na minha experiência logo que fiz apliquei parecia que havia perdido potência do sinal do WiFi, mas então "magicamente" ficou perfeito, potente, creio que algum componente que não tinha pressão voltou a ter, e que de início não havia ocorrido. Também cheguei a ler sobre quem tentou e ocorreu o mesmo.

    Por cerca de 3 semanas o aparelho voltou a funciona perfeitamente em tudo, eté que voltou a dar problemas. Não sofreu nenhum tipo de queda, simplesmente começou a dar os mesmos problemas (exceto o da rede móvel, que foi o último de todos).
    Creio que o motivo é que outras soldas resolveram dar problema também.

    Resolvi espalhar mais pedaços de cartão de crédito, funcionou por algum tempinho, 1 semana no máximo, mas creio que o negócio se espalhou de maneira que não dá para saber onde pressionar.

    Penso eu que seja um problema crônico de qualidade de solda atrelado ao tempo de vida, um vício de fabricação que a LG Brasil não reconhece, então quando começa a dar problema já era. Com o uso mais constante as soldas devem ir definhando em vários pontos onde ocorre o stress por calor, no caso do LG G3 na parte central onde há o botão, câmera e IrDA, por isso a pressão na placa nessa área deve funcionar num primeiro momento.
    Qualquer solução então sempre será paliativa.

    Solução 4:
    Sim, há uma quarta tentativa de solução, essa pra mim é apenas placebo, apesar de alguns falarem que resolveu.
    A idéia é que o problema do reboot aleatório é causado por um problema na bateria (ou seria interno do aparelho sobre esse ponto, solda?) e que por isso uma intervenção na bateria retirando uma pecinha que alguns chamam de "regulador de voltagem", resolveria o problema.
    Só que isso não funcionou comigo.
    Pode fazer algum sentido pelas explicações em outros artigos, mas são muito raros e escassas as informações de gente que seguiu por essa solução e que realmente foi efetiva, ou foi só aparente no momento que aplicaram, coincidência.
    Comigo em nenhum momento funcionou.
    Solução 5:

    Trocar placa defeituosa em alguma autorizada.
    Foi orçado com mão de obra por 580 reais em Belo Horizonte.
    Estou avaliando outros locais ainda, mas fico com pé atrás se será uma solução efetiva ou se outros locais não darão problema, ou ainda, se a placa colocada também não tem vício se tiver passado pelo mesmo processo e materiais de fabricação.

    Macetes para quem já está com problema

    Mesmo com o problema é possível tentar ligar para acessar algo rápido na internet (WhatsApp, e-mails, ...).

    WiFi é mais arriscado porque ao ligar pode dar o problema de ficar no "Ligando...", aí só reiniciando antes que dê algum problema pior (boot loop), mas o 3G/4G é possível ligar e conseguir o que precisa, não dá tempo de navegar (ou pode dar).

    Interessante é que o WiFi é algo que realmente após ativar (quando se consegue sem que apareça a mensagem de "Ligando...") dará problema sobre reiniciar o aparelho, mas ativando o 3G/4G ainda há algum tipo de tolerância, ou seja, eu posso ligar, o aparelho começa a aquecer mas pode não reiniciar na hora sendo possível utilizar a internet por rede móvel, apesar disso mesmo desligando continuará esquentando e em algum momento irá reiniciar, mesmo que se coloque o aparelho em modo avião.

    O que eu faço para garantir que o aparelho volte ao estado de uso sem reiniciar (e sem rede alguma)?

    Nesse pouco meio tempo o aparelho começa a aquecer - no mesmo local de sempre, embaixo do botão liga/desliga e volume. Acontece que não adianta desligar a rede, parece que algo é "chaveado" e o processo que gera o aquecimento continua a executar em background, então o macete que faço é desligar Wi-Fi, rede móvel e etc e botar o aparelho em Modo Avião e reiniciar.

    Pode ser que no reboot dê algum loop a mais, mas normalmente volta a funcionar, o problema é que tirando o modo avião há chances de que o Wi-Fi gere problema, parece algo do Android como se ao desligar o modo avião ele verificasse se o Wi-Fi está ok.

    Links e Vídeos