O Google lançou o Android 4.4 (KitKat) com: menor uso de memória, modo de imersão, estilos translúcidos, impressão da tela, diversos frameworks (impressão, armazenamento, transições), e o Chromium WebView.
Como parte da iniciativa do Projeto Svelte, o Google reduziu o consumo de memória em ambos os núcleos do Android, os frameworks e os serviços associados, e as próprias aplicações, fazendo o possível para executar o KitKat em dispositivos de baixa capacidade com no mínimo 512MB de memória RAM, usando diversas melhorias, boas práticas e ferramentas:
- Os fabricantes de dispositivos OEM podem usar o "código para ajuste fino do cache da Dalvik JIT, mesclagem de kernel (KSM), swap para o zRAM, e outras otimizações" para diminuir o consumo de memória;
- Agora os processos do sistema consomem menos heap;
- A memória do sistema foi agressivamente mais protegida contra as aplicações que consomem grandes quantidades de memória;
- Os serviços são lançados em série para evitar picos de requisições na memória;
- O ActivityManager.isLowRamDevice() permite que aplicações fiquem atentas ao serem executadas em dispositivos com pouca quantidade de memória, o que as permitem desativar algumas das funcionalidades que consomem grande quantidade de memória;
- O Gerenciamento da memória da aplicação é um guia detalhado que conduz os desenvolvedores interessados em reduzir o consumo de memória de suas aplicações;
- A ferramenta procstats fornece detalhes do uso da memória ao longo do tempo, incluindo o tempo de execução, fazendo a distinção entre as aplicações em primeiro plano e os serviços em background. A ferramenta meminfo foi aperfeiçoada para delimitar as tendências de memórias, e agora informa os casos de consumo de memória que não foram relatados anteriormente.
Outra funcionalidade do Android 4.4 é o novo "modo de imersão", que permite executar as aplicações usando a tela cheia, incluindo a área dos três botões (Back, Home e Menu) através do uso das flags View.SYTEM_UI_FLAG_IMMERSIVE e View.SYTEM_UI_FLAG_IMMERSIVE_STICKY. A última flag esconde novamente as barras do sistema após terem sido apresentadas por um curto período de tempo, ao ocorrer um evento especifico. O KitKat também inclui estilos para janelas translúcidas e temas para renderizar uma aplicação na camada do topo, sobre o background.
Para criar tutoriais, demos, material para marketing, para propósitos de testes, entre outros; os desenvolvedores podem agora gravar toda a tela do telefone e salvá-la como um vídeo no formato MP4 através do adb shell screenrecord, ou no painel DDMS do Eclipse ou do Android Studio. Os interessados em proteger seus conteúdos para que não sejam gravados, podem fazê-lo com uma chamada ao método useSurfaceView.setSecure().
O KitKat contém diversos novos frameworks, tais como:
Framework de Impressão - fornece suporte embutido, API e caixa de diálogo de impressão para encontrar, configurar e imprimir através do WiFi, em uma impressora local ou impressão em nuvem, e permite a impressão de quase "qualquer tipo de documento, imagem ou arquivo" a partir de todas as aplicações.
Framework para acesso ao armazenamento - integra as instalações de armazenamento local ou baseadas na nuvem do usuário, e oferece uma maneira padronizada de acesso a documentos entre aplicativos e fornecedores de armazenagem. O fornecedor de armazenagem pode incluir um provedor de documentos em sua própria aplicação Android, sendo automaticamente integrado no framework quando a aplicação for instalada no dispositivo, disponibilizando o serviço para todas as aplicações. Uma aplicação cliente precisa usar os novos intents CREATE_DOCUMENT ou OPEN_DOCUMENT para ter acesso as facilidades do armazenamento integrado.
Framework de transição - os desenvolvedores podem usar este novo framework para animar as transições entre várias cenas das suas interfaces de usuário, escolhendo a transição de um conjunto predefinido de transições, ou criando as suas próprias animações.
Fornecedor de SMS/MMS - padronização na API para todas as aplicações tratarem as mensagens SMS/MMS.
Outras funcionalidades novas ou melhoradas de destaque são:
Chromium WebView - a nova WebView é feita a partir do Chromium, fornecendo suporte e melhor desempenho para os novos padrões da web: HTML5, CSS e JavaScript. A última versão V8 também permite a depuração remota com o Chrome DevTools.
RenderScript NDK - O RenderScript agora pode ser acessado diretamente do código nativo através da API C++ NDK.
A página do desenvolvedor Android KitKat contém um resumo das novas funcionalidades e melhorias, a lista é bem grande para mencionar tudo aqui. Além disso, o Android DevBytes contém vídeos curtos voltados para desenvolvedores, apresentando algumas dessas novas funcionalidades.