Biscoito de gengibre

A plataforma Android 2.3 apresenta muitos recursos novos e interessantes para usuários e desenvolvedores. Este documento oferece uma visão geral de alguns dos novos recursos e tecnologias do Android 2.3. Para informações detalhadas sobre as novas APIs de desenvolvedor, consulte as notas da versão do Android 2.3.

Novos recursos de Usuário

Refinamentos de interface para simplificar e acelerar

A interface do usuário é refinada de várias maneiras em todo o sistema, tornando mais fácil de aprender, mais rápida de usar e mais eficiente em termos de energia. Um tema visual simplificado de cores contra o preto traz vitalidade e contraste à barra de notificação, aos menus e a outras partes da interface. Mudanças nos menus e nas configurações facilitam a navegação e o controle dos recursos do sistema e do dispositivo.

Entrada de texto mais rápida e intuitiva

O teclado de software do Android foi reformulado e otimizado para agilizar a entrada e a edição de texto. As próprias teclas foram remodeladas e reposicionadas para melhorar a segmentação, facilitando a visualização e o pressionamento delas com precisão, mesmo em alta velocidade. O teclado também mostra as sugestões atuais de personagens e dicionários em um estilo maior e mais vívido para facilitar a leitura.

O teclado adiciona o recurso de corrigir palavras inseridas a partir de sugestões no dicionário. À medida que o usuário seleciona uma palavra já inserida, o teclado mostra sugestões para substituir a seleção. O usuário também pode alternar para o modo de entrada de texto por voz para substituir a seleção. As sugestões inteligentes permitem que o usuário aceite uma sugestão e volte para corrigi-la mais tarde, se necessário, com base no conjunto original de sugestões.

O novo acorde de teclas multitoque permite que o usuário insira rapidamente números e símbolos pressionando Shift+<letra> e ?123+<símbolo>, sem precisar trocar manualmente o modo de entrada. Em determinadas teclas, os usuários também podem acessar um menu pop-up de caracteres acentuados, números e símbolos mantendo a tecla pressionada e deslizando para selecionar um caractere.

Seleção de palavras com um toque e função copiar/colar

Ao inserir texto ou visualizar uma página da Web, o usuário pode selecionar rapidamente uma palavra pressionando-a e, em seguida, copiá-la para a área de transferência e colar. Pressionar uma palavra entra em um modo de seleção livre. O usuário pode ajustar a área de seleção conforme necessário, arrastando um conjunto de setas delimitadoras para novas posições e, em seguida, copia a área delimitada pressionando qualquer lugar na área de seleção. Para entrada de texto, o usuário pode pressionar o cursor para entrar em um modo de cursor e depois reposicionar o cursor com facilidade e precisão arrastando a seta. Com os modos de seleção e cursor, não é necessário usar um trackball.

Melhor gerenciamento de energia

O sistema Android tem um papel mais ativo no gerenciamento de apps que mantêm o dispositivo ativado por muito tempo ou que consomem CPU durante a execução em segundo plano. Ao gerenciar esses apps (fechando-os se apropriado), o sistema ajuda a garantir o melhor desempenho possível e a duração máxima da bateria.

O sistema também oferece ao usuário mais visibilidade sobre a energia consumida pelos componentes do sistema e pelos apps em execução. A página "Configurações do aplicativo" fornece uma visão geral precisa de como a bateria está sendo usada, com detalhes do uso e da energia relativa consumida por cada componente ou aplicativo.

Controle sobre aplicativos

Um atalho para o controle "Gerenciar aplicativos" agora aparece no menu "Opções" da tela inicial e do acesso rápido, facilitando a verificação e o gerenciamento da atividade do aplicativo. Depois que o usuário entra em "Manage Applications", uma nova guia "Running" mostra uma lista de aplicativos ativos, o armazenamento e a memória usados por cada um. O usuário pode ler mais detalhes sobre cada aplicativo e, se necessário, interrompê-lo ou enviar feedback ao desenvolvedor.

Novas formas de se comunicar, organizar

Um conjunto atualizado de aplicativos padrão permite que o usuário adote novas abordagens para gerenciar informações e relacionamentos.


Chamadas pela Internet

O usuário pode fazer chamadas de voz pela Internet para outros usuários que tenham contas SIP. O usuário pode adicionar um número de chamada pela Internet (um endereço SIP) a qualquer contato e pode iniciar uma chamada a partir do contato rápido ou do discador. Para usar as chamadas pela Internet, o usuário precisa criar uma conta no provedor SIP que quiser. As contas SIP não são fornecidas como parte do recurso de chamada pela Internet. Além disso, o suporte aos recursos de chamada pela Internet e SIP da plataforma em dispositivos específicos é determinado pelos fabricantes e pelas operadoras associadas.

Comunicações a curta distância

Um aplicativo Leitor de NFC permite que o usuário leia e interaja com tags de comunicação a curta distância (NFC, na sigla em inglês). Por exemplo, o usuário pode "tocar" ou "deslizar" uma tag NFC que possa ser incorporada em um pôster, adesivo ou anúncio e, em seguida, atuar nos dados lidos da tag. Um uso típico seria ler uma tag em um restaurante, loja ou evento e, em seguida, classificar ou se registrar, acessando um site cujo URL esteja incluído nos dados da tag. A comunicação NFC depende da tecnologia sem fio no hardware do dispositivo. Portanto, o suporte para os recursos de NFC da plataforma em dispositivos específicos é determinado pelos fabricantes.

Gerenciamento de downloads

O aplicativo Downloads oferece ao usuário acesso fácil a qualquer arquivo transferido por download no navegador, e-mail ou outro aplicativo. Os downloads são criados com base em um recurso de gerenciador de downloads completamente novo no sistema, que qualquer outro app pode usar para gerenciar e armazenar os downloads com mais facilidade.

Câmera

O aplicativo agora permite que o usuário acesse várias câmeras no dispositivo, incluindo uma câmera frontal, se disponível.

Novos recursos para desenvolvedores

O Android 2.3 oferece uma variedade de recursos e APIs que permitem que os desenvolvedores levem novos tipos de aplicativos para a plataforma Android.

Melhorias para jogos

Desempenho

O Android 2.3 inclui uma variedade de melhorias em todo o sistema que tornam as operações comuns mais rápidas e eficientes para todos os aplicativos. Os desenvolvedores de jogos têm um grande interesse:

  • Coletor de lixo simultâneo: a VM Dalvik introduz um novo coletor de lixo simultâneo que minimiza as pausas do aplicativo, ajudando a garantir uma animação mais suave e maior capacidade de resposta em jogos e aplicativos semelhantes.
  • Distribuição de eventos mais rápida: a plataforma agora processa eventos de toque e teclado com mais rapidez e eficiência, minimizando a utilização da CPU durante a distribuição do evento. As mudanças melhoram a capacidade de resposta para todos os aplicativos, mas beneficiarão especialmente jogos que usam eventos de toque em combinação com gráficos 3D ou outras operações que consomem muita CPU.
  • Drivers de vídeo atualizados: a plataforma usa drivers de vídeo de terceiros atualizados que melhoram a eficiência das operações do OpenGL ES para melhorar o desempenho geral de gráficos 3D.

Eventos de entrada e sensor nativos

Os apps que usam código nativo agora podem receber e processar eventos de entrada e sensor diretamente no código nativo, o que melhora drasticamente a eficiência e a capacidade de resposta.

As bibliotecas nativas expostas pela plataforma permitem que os aplicativos processem os mesmos tipos de eventos de entrada disponibilizados pelo framework. Os aplicativos podem receber eventos de todos os tipos de sensores compatíveis, além de ativar/desativar sensores específicos, além de gerenciar a taxa de entrega de eventos e o enfileiramento.

Giroscópio e outros sensores novos para melhorar o processamento de movimento 3D

O Android 2.3 adiciona suporte à API para vários novos tipos de sensor, incluindo giroscópio, vetor de rotação, aceleração linear, gravidade e barômetro. Os apps podem usar os novos sensores em combinação com qualquer outro sensor disponível no dispositivo para rastrear o movimento tridimensional e a mudança de orientação do dispositivo com alta precisão e precisão. Por exemplo, um aplicativo de jogo pode usar leituras de um giroscópio e acelerômetro no dispositivo para reconhecer gestos e movimentos complexos do usuário, como inclinação, rotação, empurrão e fatia.

API aberta para áudio nativo

A plataforma oferece uma implementação de software do Khronos OpenSL ES, uma API padrão que dá aos apps acesso a controles e efeitos de áudio avançados de código nativo. Os aplicativos podem usar a API para gerenciar dispositivos de áudio e controlar a entrada, a saída e o processamento de áudio diretamente do código nativo.

Gerenciamento de gráficos nativos

A plataforma oferece uma interface para a biblioteca Khronos EGL, que permite que os apps gerenciem contextos gráficos e criem e gerenciem texturas e superfícies do OpenGL ES a partir do código nativo.

Acesso nativo ao ciclo de vida da atividade e ao gerenciamento de janelas

Aplicativos nativos podem declarar um novo tipo de classe de atividade, NativeActivity, cujos callbacks do ciclo de vida são implementados diretamente no código nativo. A NativeActivity e o código nativo dela são executados no sistema da mesma forma que outras atividades. Eles são executados no processo do sistema do aplicativo e na linha de execução de interface principal do aplicativo e recebem os mesmos callbacks de ciclo de vida que outras atividades.

A plataforma também expõe APIs nativas para gerenciar janelas, incluindo a capacidade de bloquear/desbloquear o buffer de pixels para desenhar diretamente nele. Com a API, os apps podem conseguir um objeto de janela nativo associado a um objeto Surface do framework e interagir com ele diretamente no código nativo.

Acesso nativo a recursos e armazenamento

Os aplicativos agora podem acessar uma API Asset Manager nativa para extrair os recursos do app diretamente do código nativo, sem precisar passar pelo JNI. Se os recursos forem compactados, a plataforma vai fazer a descompactação por streaming enquanto o aplicativo lê os dados do recurso. Não há mais limite para o tamanho dos recursos .apk compactados que podem ser lidos.

Além disso, os aplicativos podem acessar uma API Storage Manager nativa para trabalhar diretamente com arquivos OBB transferidos por download e gerenciados pelo sistema. Embora o suporte de plataforma para OBB esteja disponível no Android 2.3, as ferramentas de desenvolvimento para criar e gerenciar arquivos OBB não estarão disponíveis até o início de 2011.

Ambiente robusto para desenvolvimento nativo

O Android NDK (r5 ou mais recente) oferece um conjunto completo de ferramentas, conjuntos de ferramentas e bibliotecas para desenvolver apps que usam o ambiente nativo avançado oferecido pela plataforma Android 2.3. Para ver mais informações ou fazer o download do NDK, consulte a página Android NDK.

Novas formas de comunicação

Telefonia da Internet

Os desenvolvedores agora podem adicionar recursos de telefonia na Internet baseados em SIP aos aplicativos. O Android 2.3 inclui uma pilha de protocolos SIP completa e serviços integrados de gerenciamento de chamadas que permitem que os aplicativos configurem facilmente chamadas de voz enviadas e recebidas, sem precisar gerenciar sessões, comunicação em nível de transporte ou gravação ou reprodução de áudio diretamente.

O suporte aos recursos de SIP e de chamada pela Internet da plataforma em dispositivos específicos é determinado pelos fabricantes e pelas operadoras associadas.

Comunicação a curta distância (NFC, na sigla em inglês)

O suporte da plataforma à comunicação a curta distância (NFC, na sigla em inglês) permite que os desenvolvedores comecem a criar uma nova classe de apps para Android. Os desenvolvedores podem criar novos aplicativos que ofereçam informações e serviços baseados em proximidade para usuários, organizações, comerciantes e anunciantes.

Com a API NFC, os aplicativos podem ler e responder a tags NFC "descobertas" quando o usuário toca em um dispositivo compatível com NFC a elementos incorporados em adesivos, pôsteres inteligentes e até mesmo outros dispositivos. Quando uma tag de interesse é coletada, os aplicativos podem responder a ela, ler mensagens e armazenar as mensagens, solicitando ao usuário conforme necessário.

A partir do Android 2.3.3, os aplicativos também podem gravar em tags e configurar conexões ponto a ponto com outros dispositivos NFC.

A comunicação NFC depende da tecnologia sem fio no hardware do dispositivo. Portanto, o suporte para os recursos de NFC da plataforma em dispositivos específicos é determinado pelos fabricantes.

Rich multimídia

Efeitos de áudio combináveis

Uma nova API de efeitos de áudio permite que os desenvolvedores criem facilmente ambientes de áudio avançados adicionando equalização, intensificação de graves, virtualização de fones de ouvido (fase sonora ampliada) e reverberação para faixas de áudio e sons. Os desenvolvedores podem misturar vários efeitos de áudio em uma faixa local ou aplicar efeitos globalmente em várias faixas.

Suporte a novos formatos de mídia

A plataforma agora oferece suporte integrado para os formatos de compactação de vídeo aberto VP8 e WebM. A plataforma também adiciona suporte à codificação AAC e de banda larga AMR (no software), para que os aplicativos possam capturar áudio de maior qualidade do que a banda estreita.

Acesso a várias câmeras

A API Camera agora permite que os desenvolvedores acessem todas as câmeras disponíveis em um dispositivo, incluindo uma câmera frontal. Os aplicativos podem consultar a plataforma para saber o número de câmeras no dispositivo e os tipos e características delas e, em seguida, abrir a câmera necessária. Por exemplo, um aplicativo de chat por vídeo pode querer acessar uma câmera frontal com resolução mais baixa, enquanto um aplicativo de fotos pode preferir uma câmera traseira que ofereça maior resolução.

Novas tecnologias de plataforma

Framework de mídia

  • O novo framework de mídia substitui totalmente o OpenCore, mantendo todo o suporte a codec/contêiner anterior para codificação e decodificação.
  • Suporte integrado para os formatos de compactação de vídeo aberto VP8 e WebM para contêineres abertos
  • Adiciona codificação AAC e codificação de banda larga AMR

Kernel do Linux

  • Atualizado para a versão 2.6.35

Redes

  • Pilha SIP, configurável pelo fabricante do dispositivo
  • Suporte para comunicações a curta distância (NFC, na sigla em inglês), configurável pelo fabricante do dispositivo
  • Pilha BlueZ atualizada

Tempo de execução do Dalvik

  • VM Dalvik:
    • Coletor de lixo simultâneo (pausas de sub-3 ms desejados)
    • Adiciona mais otimizações JIT (geração de código)
    • Verificação de código aprimorada
    • Depuração StrictMode para identificar problemas de desempenho e memória
  • Bibliotecas principais:
    • Compatibilidade com I18N expandido (codificações mundiais completas, mais localidades)
    • Formatador e formatação de números mais rápidos. Por exemplo, a formatação em pontos flutuantes é 2,5x mais rápida.
    • Por padrão, as respostas HTTP são compactadas com gzip. Os tamanhos de resposta das APIs XML e JSON podem ser reduzidos em 60% ou mais.
    • Novas APIs de coleções e utilitários
    • APIs de rede aprimoradas
    • Controles aprimorados de leitura e gravação de arquivos
    • JDBC atualizado
  • Atualizações de projetos upstream:
    • OpenSSL 1.0.0a
    • BouncyCastle 1.45
    • ICU 4.4
    • zlib 1.2.5

Para mais informações sobre as novas APIs de desenvolvedor, consulte as notas da versão do Android 2.3 e o Relatório de diferenças da API.