Descontinuações

A cada versão, algumas APIs específicas do Android podem se tornar obsoletas ou precisarem ser refatoradas para fornecer uma melhor experiência aos desenvolvedores ou oferecer compatibilidade com as novas funcionalidades da plataforma. Nesses casos, o Android descontinuará oficialmente as APIs obsoletas e direcionará os desenvolvedores para usarem as novas APIs.

Descontinuação significa que encerramos o suporte oficial para as APIs, mas elas continuarão disponíveis para os desenvolvedores. Esta página destaca algumas das descontinuações nesta versão do Android. Para ver outras suspensões de uso, consulte o Relatório das diferenças de API.

RenderScript

A partir do Android 12, as APIs RenderScript foram descontinuadas. Elas continuarão funcionando, mas esperamos que os fabricantes de dispositivos e componentes parem de oferecer compatibilidade com a aceleração de hardware ao longo do tempo. Para aproveitar ao máximo a aceleração de GPU, recomendamos migrar do RenderScript.

Playlists do Android

As playlists do Android foram descontinuadas. A API não é mais mantida, mas a funcionalidade atual permanece para compatibilidade.

Recomendamos ler e salvar playlists como arquivos m3u (link em inglês).

Descontinuação da API Display

Os dispositivos Android estão disponíveis em vários formatos, como telas grandes, tablets e dobráveis. Para renderizar conteúdo corretamente em cada dispositivo, o app precisa determinar o tamanho da tela ou da exibição. Com o tempo, o Android forneceu APIs diferentes para extrair essas informações. No Android 11, introduzimos a API WindowMetrics e descontinuamos estes métodos:

No Android 12, continuamos a recomendar o uso das WindowMetrics e descontinuamos estes métodos:

Os apps precisam usar as APIs WindowMetrics para consultar os limites da janela ou Configuration.densityDpi para consultar a densidade atual.

A biblioteca WindowManager do Jetpack inclui uma classe WindowMetrics que oferece suporte ao Android 4.0.1 (nível 14 da API) e mais recentes.

Exemplos

Veja alguns exemplos de como usar as WindowMetrics.

Primeiro, confira se o app pode tornar as atividades totalmente redimensionáveis.

Uma atividade depende das WindowMetrics de um contexto de atividade para qualquer trabalho relacionado à IU, especialmente WindowManager.getCurrentWindowMetrics().

Se o app criar uma MediaProjection, os limites precisam ser dimensionados corretamente, já que a projeção captura a tela. Se o app for totalmente redimensionável, o contexto da atividade retornará os limites corretos.

Kotlin

val projectionMetrics = activityContext
        .getSystemService(WindowManager::class.java).maximumWindowMetrics

Java

WindowMetrics projectionMetrics = activityContext
        .getSystemService(WindowManager.class).getMaximumWindowMetrics();

Se o app não for totalmente redimensionável, ele precisará consultar os limites de uma instância do WindowContext e extrair as WindowMetrics da área máxima de exibição disponível para o app usando o método WindowManager.getMaximumWindowMetrics().

Kotlin

val windowContext = context.createWindowContext(mContext.display!!,
      WindowManager.LayoutParams.TYPE_APPLICATION, null)
val projectionMetrics = windowContext.getSystemService(WindowManager::class.java)
      .maximumWindowMetrics

Java

Context windowContext = mContext.createWindowContext(mContext.getDisplay(),
      WindowManager.LayoutParams.TYPE_APPLICATION, null;
WindowMetrics projectionMetrics = windowContext.getWindowManager()
      .getMaximumWindowMetrics();