Lançamento da plataforma móvel Android 12

O Google publicou o lançamento da plataforma móvel aberta Android 12. Os textos fontes associados ao novo lançamento estão postados no repositório Git do projeto (branch android-12.0.0_r1). As atualizações de firmware estão preparadas para dispositivos da série Pixel, bem como para smartphones fabricados pela Samsung Galaxy, OnePlus, Oppo, Realme, Tecno, Vivo e Xiaomi. Além disso, foram criados assemblies GSI (Generic System Images) universais, adequados para vários dispositivos baseados nas arquiteturas ARM64 e x86_64.

Principais inovações:

  • Foi proposta uma das atualizações de design de interface mais significativas da história do projeto. O novo design implementa o conceito “Material You”, apresentado como a próxima geração do Material Design. O novo conceito será aplicado automaticamente a todas as plataformas e elementos de interface, e não exigirá que os desenvolvedores de aplicativos façam quaisquer alterações. Em julho, está previsto fornecer aos desenvolvedores de aplicativos a primeira versão estável de um novo kit de ferramentas para desenvolvimento de interfaces gráficas - Jetpack Compose.
    Lançamento da plataforma móvel Android 12

    A própria plataforma apresenta um novo design de widget. Os widgets ficaram mais visíveis, os cantos foram melhor arredondados e foi fornecida a capacidade de usar cores dinâmicas que correspondem ao tema do sistema. Adicionados controles interativos como checkboxes e switches (CheckBox, Switch e RadioButton), por exemplo, permitindo editar listas de tarefas no widget TODO sem abrir o aplicativo.

    Lançamento da plataforma móvel Android 12

    Implementou uma transição visual mais suave para aplicativos iniciados a partir de widgets. A personalização dos widgets foi simplificada - foi adicionado um botão (um círculo com um lápis) para reconfigurar rapidamente o posicionamento do widget na tela, que aparece quando você toca longamente no widget.

    Lançamento da plataforma móvel Android 12Lançamento da plataforma móvel Android 12

    Modos adicionais são fornecidos para limitar o tamanho do widget e a capacidade de usar o layout responsivo dos elementos do widget (layout responsivo) para criar layouts padrão que mudam dependendo do tamanho da área visível (por exemplo, você pode criar layouts separados para tablets e smartphones). A interface do seletor de widget implementa visualização dinâmica e a capacidade de exibir uma descrição do widget.

    Lançamento da plataforma móvel Android 12
  • Adicionada a capacidade de adaptar automaticamente a paleta do sistema à cor do papel de parede selecionado - o sistema detecta automaticamente as cores predominantes, ajusta a paleta atual e aplica alterações a todos os elementos da interface, incluindo a área de notificação, tela de bloqueio, widgets e controle de volume.
  • Novos efeitos animados foram implementados, como zoom gradual e deslocamento suave de áreas ao rolar, aparecer e mover elementos na tela. Por exemplo, quando você cancela uma notificação na tela de bloqueio, o indicador de tempo se expande automaticamente e ocupa o espaço que a notificação ocupava anteriormente.
  • O design da área suspensa com notificações e configurações rápidas foi redesenhado. Opções de Google Pay e controle de casa inteligente foram adicionadas às configurações rápidas. Manter pressionado o botão liga / desliga abre o Google Assistente, que você pode comandar para fazer uma chamada, abrir um aplicativo ou ler um artigo em voz alta. As notificações com conteúdo especificado pelo aplicativo são fornecidas de forma geral.
    Lançamento da plataforma móvel Android 12
  • Adicionado efeito de rolagem esticada para indicar que o usuário ultrapassou a área de rolagem e atingiu o final do conteúdo. Com o novo efeito, a imagem do conteúdo parece esticar-se e recuar. O novo comportamento de fim de rolagem está habilitado por padrão, mas há uma opção nas configurações para reverter ao comportamento antigo.
  • A interface foi otimizada para dispositivos com telas dobráveis.
    Lançamento da plataforma móvel Android 12
  • Transições de áudio mais suaves foram implementadas - ao alternar de um aplicativo que emite som para outro, o som do primeiro agora é silenciado suavemente e o segundo aumenta suavemente, sem sobrepor um som ao outro.
  • A interface para gerenciamento de conexões de rede no bloco de configurações rápidas, painel e configurador de sistema foi modernizada. Foi adicionado um novo painel de Internet que permite alternar rapidamente entre diferentes provedores e diagnosticar problemas.
    Lançamento da plataforma móvel Android 12
  • Adicionada a capacidade de criar capturas de tela que cobrem não apenas a área visível, mas também o conteúdo da área de rolagem. A capacidade de manter o conteúdo fora da área visível funciona para todos os aplicativos que usam a classe View para saída. Para implementar suporte para rolagem de capturas de tela em programas que usam interfaces específicas, a API ScrollCapture foi proposta.
    Lançamento da plataforma móvel Android 12
  • O recurso de rotação automática do conteúdo da tela foi aprimorado e agora pode usar o reconhecimento facial da câmera frontal para determinar se a tela precisa ser girada, como quando uma pessoa está usando o telefone deitada. Para garantir a confidencialidade, as informações são processadas dinamicamente, sem armazenamento intermediário de imagens. Atualmente, o recurso está disponível apenas no Pixel 4 e smartphones mais recentes.
  • Modo picture-in-picture aprimorado (PIP, Picture in Picture) e maior suavidade dos efeitos de transição. Se você ativar a transição automática para PIP com um gesto para cima (deslocando a parte inferior da tela para cima), o aplicativo agora muda imediatamente para o modo PIP, sem esperar que a animação seja concluída. Redimensionamento aprimorado de janelas PIP com conteúdo que não seja de vídeo. Adicionada a capacidade de ocultar a janela PIP arrastando-a para a borda esquerda ou direita da tela. O comportamento ao tocar em uma janela PIP foi alterado - um toque agora exibe os botões de controle e um toque duplo altera o tamanho da janela.
  • Otimizações de desempenho:
    • Foi realizada uma otimização significativa do desempenho do sistema - a carga na CPU dos principais serviços do sistema diminuiu 22%, o que por sua vez levou a um aumento na vida útil da bateria em 15%. Ao reduzir a contenção de bloqueios, reduzir a latência e otimizar a E/S, o desempenho da transição de um aplicativo para outro aumenta e o tempo de inicialização do aplicativo é reduzido.

      No PackageManager, ao trabalhar com snapshots no modo somente leitura, a contenção de bloqueio é reduzida em 92%. O mecanismo de comunicação entre processos do Binder usa cache leve para reduzir a latência em até 47 vezes para alguns tipos de chamadas. Desempenho aprimorado para processamento de arquivos dex, odex e vdex, resultando em tempos de carregamento de aplicativos mais rápidos, especialmente em dispositivos com pouca memória. O lançamento de aplicativos a partir de notificações foi acelerado, por exemplo, o lançamento do Google Fotos a partir de uma notificação agora é 34% mais rápido.

      O desempenho das consultas ao banco de dados foi melhorado através do uso de otimizações inline na operação CursorWindow. Para pequenas quantidades de dados, o CursorWindow se tornou 36% mais rápido e, para conjuntos com mais de 1000 linhas, a aceleração pode ser de até 49 vezes.

      São propostos critérios para classificação de dispositivos por desempenho. Com base nas capacidades de um dispositivo, é atribuída uma classe de desempenho, que pode então ser usada em aplicativos para limitar a funcionalidade de codecs em dispositivos de baixo consumo de energia ou para lidar com conteúdo multimídia de alta qualidade em hardware poderoso.

    • Foi implementado um modo de hibernação da aplicação, que permite, caso o usuário não tenha interagido explicitamente com o programa por um longo tempo, redefinir automaticamente as permissões concedidas anteriormente à aplicação, interromper a execução, retornar recursos utilizados pela aplicação, como memória, e bloquear o lançamento de trabalhos em segundo plano e o envio de notificações push. O modo pode ser usado para a maioria dos aplicativos e permite proteger os dados do usuário aos quais programas há muito esquecidos continuam a ter acesso. Se desejar, o modo de hibernação pode ser desativado seletivamente nas configurações.
    • A animação ao girar a tela foi otimizada, reduzindo o atraso antes da rotação em aproximadamente 25%.
    • A estrutura inclui um novo mecanismo de busca de alto desempenho AppSearch, que permite indexar informações no dispositivo e realizar pesquisas de texto completo com resultados de classificação. O AppSearch fornece dois tipos de índices: para organizar pesquisas em aplicativos individuais e para pesquisar em todo o sistema.
    • Adicionada a API Game Mode e configurações correspondentes que permitem gerenciar o perfil de desempenho do jogo - por exemplo, você pode sacrificar o desempenho para prolongar a vida útil da bateria ou usar todos os recursos disponíveis para atingir o FPS máximo.
    • Adicionada função play-as-you-download para baixar recursos do jogo em segundo plano durante o processo de instalação, permitindo que você comece a jogar antes que o download seja concluído. aplicativo.
    • Maior capacidade de resposta e velocidade de reação ao trabalhar com notificações. Por exemplo, quando um usuário toca em uma notificação, ela o leva imediatamente para o aplicativo associado. Os aplicativos limitam o uso de trampolins de notificação.
    • Chamadas IPC otimizadas no Binder. Ao usar uma nova estratégia de cache e eliminar a contenção de bloqueios, a latência foi significativamente reduzida. No geral, o desempenho das chamadas do Binder quase dobrou, mas há algumas áreas onde foram alcançadas acelerações ainda mais significativas. Por exemplo, chamar refContentProvider() tornou-se 47 vezes mais rápido, releaseWakeLock() 15 vezes mais rápido e JobScheduler.schedule() 7.9 vezes mais rápido.
    • Para evitar possíveis problemas de desempenho, os aplicativos são proibidos de executar serviços em primeiro plano enquanto são executados em segundo plano, exceto em alguns casos especiais. Para começar a trabalhar em segundo plano, é recomendável usar o WorkManager. Para simplificar a transição, foi proposto um novo tipo de trabalho no JobScheduler, que começa imediatamente, tem prioridade aumentada e acesso à rede.
  • Mudanças que afetam a segurança e a privacidade:
    • A interface do Painel de Privacidade foi implementada com uma visão geral de todas as configurações de permissão, permitindo entender quais dados do usuário os aplicativos têm acesso. A interface também inclui uma linha do tempo que visualiza o histórico de acesso do aplicativo ao microfone, câmera e dados de localização. Para cada aplicativo, você pode visualizar detalhes e motivos para acessar dados confidenciais.
      Lançamento da plataforma móvel Android 12
    • Indicadores de atividade de microfone e câmera foram adicionados ao painel, que aparecem quando um aplicativo acessa a câmera ou microfone. Ao clicar nos indicadores, aparece uma caixa de diálogo com configurações que permite determinar qual aplicativo está funcionando com a câmera ou microfone e, se necessário, revogar as permissões.
    • Interruptores foram adicionados ao bloco pop-up de configurações rápidas, com os quais você pode desligar o microfone e a câmera à força. Após desligar, as tentativas de acesso à câmera e ao microfone resultarão em uma notificação e no envio de dados vazios para o aplicativo.
      Lançamento da plataforma móvel Android 12
    • Adicionada uma nova notificação que aparece na parte inferior da tela sempre que um aplicativo tenta ler o conteúdo da área de transferência por meio de uma chamada à função getPrimaryClip(). Se o conteúdo da área de transferência for copiado no mesmo aplicativo em que foi adicionado, a notificação não aparecerá.
    • Adicionada uma permissão separada BLUETOOTH_SCAN para verificar dispositivos próximos via Bluetooth. Anteriormente, essa capacidade era fornecida com base no acesso às informações de localização do dispositivo, o que resultava na necessidade de conceder permissões adicionais a aplicativos que necessitassem de emparelhamento com outro dispositivo via Bluetooth.
    • A caixa de diálogo de acesso às informações sobre a localização do dispositivo foi modernizada. O usuário agora tem a oportunidade de fornecer ao aplicativo informações sobre a localização exata ou fornecer apenas dados aproximados, bem como limitar a autoridade apenas à sessão ativa com o programa (negar acesso quando estiver em segundo plano). O nível de precisão dos dados retornados ao selecionar um local aproximado pode ser alterado nas configurações, inclusive em relação a aplicativos individuais.
      Lançamento da plataforma móvel Android 12
    • Os desenvolvedores de aplicativos têm a opção de desativar avisos pop-up que se sobrepõem ao conteúdo. Anteriormente, a capacidade de exibir janelas sobrepostas era controlada exigindo a verificação de permissões durante a instalação de aplicativos que exibiam janelas sobrepostas. Não havia ferramentas disponíveis para influenciar a sobreposição de conteúdo de aplicativos cujas janelas se sobrepunham. Ao usar a chamada Window#setHideOverlayWindows(), todas as janelas sobrepostas serão ocultadas automaticamente. Por exemplo, a ocultação pode ser ativada ao exibir informações particularmente importantes, como confirmação de transação.
    • Os aplicativos recebem configurações adicionais para limitar as operações de notificação enquanto a tela está bloqueada. Anteriormente, você só tinha a capacidade de controlar a visibilidade das notificações enquanto a tela estava bloqueada, mas agora você pode ativar a autenticação obrigatória para realizar qualquer ação com notificações enquanto a tela está bloqueada. Por exemplo, um aplicativo de mensagens pode exigir autenticação antes de excluir ou marcar uma mensagem como lida.
    • Adicionada API PackageManager.requestChecksums() para solicitar e verificar a soma de verificação de um aplicativo instalado. Os algoritmos suportados incluem SHA256, SHA512 e Merkle Root.
    • O mecanismo da web WebView implementa a capacidade de usar o atributo SameSite para controlar o processamento de cookies. O valor "SameSite=Lax" limita o envio do cookie para subsolicitações entre sites, como solicitar uma imagem ou carregar conteúdo por meio de um iframe de outro site. No modo "SameSite=Strict", os Cookies não são enviados para nenhum tipo de solicitação entre sites, incluindo todos os links recebidos de sites externos.
    • Continuamos trabalhando na randomização de endereços MAC para eliminar a possibilidade de rastreamento de dispositivos quando conectados a uma rede sem fio. Aplicativos sem privilégios têm acesso limitado ao endereço MAC do dispositivo e a chamada getHardwareAddress() agora retorna um valor nulo.
  • Mudanças e melhorias de baixo nível para desenvolvedores de aplicativos:
    • Adicionada a capacidade de adaptar elementos de interface a dispositivos com telas arredondadas. Os desenvolvedores agora podem obter informações sobre arredondamentos da tela e ajustar elementos da interface que ficam em áreas de canto invisíveis. Através da nova API RoundedCorner, você pode descobrir parâmetros como o raio e o centro do arredondamento, e através de Display.getRoundedCorner() e WindowInsets.getRoundedCorner() você pode determinar as coordenadas de cada canto arredondado da tela.
      Lançamento da plataforma móvel Android 12
    • Uma nova API CompanionDeviceService foi adicionada, com a qual você pode ativar aplicativos que controlam dispositivos complementares, como smartwatches e rastreadores de fitness. A API resolve o problema de iniciar e conectar os aplicativos necessários quando um dispositivo complementar aparece nas proximidades. O sistema ativa o serviço quando um dispositivo está próximo e envia uma notificação quando o dispositivo é desconectado ou quando o dispositivo entra ou sai do escopo. Os aplicativos também podem usar o novo perfil de dispositivo complementar para configurar mais facilmente permissões para ingressar em um dispositivo.
    • Melhor sistema de previsão de capacidade. Os aplicativos agora podem solicitar informações sobre o rendimento total previsto em relação à operadora, rede sem fio específica (SSID Wi-Fi), tipo de rede e intensidade do sinal.
    • A aplicação de efeitos visuais comuns, como desfoque e distorção de cores, foi simplificada e agora pode ser aplicada usando a API RenderEffect a qualquer objeto RenderNode ou a toda a área visível, inclusive em uma cadeia com outros efeitos. Este recurso, por exemplo, permite desfocar uma imagem exibida via ImageView sem copiar, processar e substituir explicitamente o bitmap, movendo essas ações para o lado da plataforma. Além disso, é proposta a API Window.setBackgroundBlurRadius(), com a qual você pode desfocar o fundo de uma janela com um efeito de vidro fosco e realçar a profundidade desfocando o espaço ao redor da janela.
      Lançamento da plataforma móvel Android 12
    • Ferramentas integradas para transcodificação de fluxos de mídia que podem ser utilizadas em ambientes com aplicativo de câmera que salva vídeo no formato HEVC, para garantir compatibilidade com aplicativos que não suportam esse formato. Para tais aplicações, uma função de transcodificação automática foi adicionada ao formato AVC mais comum.
    • Adicionado suporte para o formato de imagem AVIF (AV1 Image Format), que usa tecnologias de compactação intra-quadro do formato de codificação de vídeo AV1. O contêiner para distribuição de dados compactados no AVIF é completamente semelhante ao HEIF. AVIF suporta imagens em HDR (High Dynamic Range) e espaço de cores de ampla gama, bem como em faixa dinâmica padrão (SDR).
    • Uma API OnReceiveContentListener unificada é proposta para inserir e mover tipos estendidos de conteúdo (texto formatado, imagens, vídeos, arquivos de áudio, etc.) entre aplicativos usando várias fontes de dados, incluindo a área de transferência, teclado e interface de arrastar e soltar.
    • Foi adicionado um efeito de feedback tátil, implementado usando o motor de vibração embutido nos telefones, cuja frequência e intensidade de vibração dependem dos parâmetros do som emitido atualmente. O novo efeito permite sentir fisicamente o som e pode ser usado para adicionar realismo adicional a jogos e programas de som.
    • No modo Imersivo, em que o programa é mostrado em tela cheia com painéis de serviço ocultos, a navegação é simplificada por meio de gestos de controle. Por exemplo, livros, vídeos e fotos agora podem ser navegados com um único gesto de deslizar.
    • Como parte do projeto Mainline, que permite atualizar componentes individuais do sistema sem atualizar toda a plataforma, novos módulos de sistema atualizáveis ​​foram preparados além dos 22 módulos disponíveis no Android 11. As atualizações afetam componentes não-hardware que são baixados via Google Play separadamente das atualizações de firmware OTA do fabricante. Entre os novos módulos que podem ser atualizados via Google Play sem atualizar o firmware estão o ART (Android Runtime) e um módulo para transcodificação de vídeo.
    • Uma API foi adicionada à classe WindowInsets para determinar a posição de exibição dos indicadores de uso da câmera e do microfone (os indicadores podem sobrepor os controles em programas implantados em tela inteira e, por meio da API especificada, o aplicativo pode ajustar sua interface).
    • Para dispositivos gerenciados centralmente, foi adicionada uma opção para evitar o uso de interruptores para silenciar o microfone e a câmera.
    • Para aplicativos CDM (Companion Device Manager) executados em segundo plano, que controlam dispositivos complementares, como relógios inteligentes e rastreadores de fitness, é possível iniciar serviços em primeiro plano.
    • Em vez de uma edição para dispositivos vestíveis, o Android Wear, em conjunto com a Samsung, decidiu desenvolver uma nova plataforma unificada que combina as capacidades do Android e do Tizen.
    • Os recursos das edições Android para sistemas de infoentretenimento automotivo e TVs inteligentes foram expandidos.

    Fonte: opennet.ru

  • Adicionar um comentário