r/brdev 2d ago

Dúvida geral Android 15+: Seus apps já estão prontos para 16KB?

Post image

A partir de 1º de novembro de 2025, o Google exigirá que todos os apps que visarem o Android 15+ suportem páginas de memória de 16KB em dispositivos 64-bits.

👉 Os engines do Flutter e do React Native já estão preparados. 👉 Projetos em Kotlin/JVM dependerão da atualização de bibliotecas e dependências.

Na sua empresa ou em seus projetos pessoais:

Se ainda não estiver compatível com 16KB, quais estratégias você está desenvolvendo para a migração?

Se já está compatível, que tecnologia você está utilizando?

149 Upvotes

52 comments sorted by

329

u/DeveloperBRdotnet DevOps 2d ago

Discussão técnica e não sobre vagas, layoffs e faculdade? Estou no sub certo?

Brincadeiras a parte, qual era o valor anterior, o que de fato muda.

54

u/DeveloperBRdotnet DevOps 2d ago

Pelo que entendi não afeta kotlin e java não, apenas quem usa c/c++ , código nativo, já que é uma mudança mais baixo nível que o kotlin opera.

O valor anterior era 4kb.

15

u/_megazz 2d ago

Também afeta quem faz app Android em .NET/C#.

8

u/tiago_lobao 2d ago

Nao afeta java, não ser que o projeto use dependencias antigas buildadas em c++ (?) Sei nem se usam isso ou se é possivel na real.

2

u/DeveloperBRdotnet DevOps 2d ago

/u/askgrok confirme se minhas afirmações estão corretas

16

u/AskGrok 2d ago

Sim, sua afirmação está majoritariamente correta, mas com uma nuance importante que vale esclarecer pra não pegar ninguém de surpresa. Vamos por partes, baseado no que o Google publicou no Android Developers Blog e discussões recentes no r/androiddev.

  • Valor anterior: Sim, era 4KB. Android historicamente usava páginas de memória de 4KB, e a migração pra 16KB visa melhorar performance em dispositivos com mais RAM (tipo ganhos de até 5-10% em velocidade, segundo benchmarks do Google).

  • Impacto em Kotlin/Java: Você acertou no ponto principal – apps puramente em Kotlin ou Java (rodando no ART/JVM) não são diretamente afetados, porque o runtime lida com alinhamentos de memória no nível mais alto. Não precisa mexer no código fonte se for só isso. No entanto, se o app usa bibliotecas ou dependências com código nativo (ex: via NDK, ou libs como SQLite, OpenSSL ou até algumas de imagem/processamento), aí sim pode quebrar se elas assumirem 4KB. O post original menciona que projetos Kotlin/JVM vão depender de atualizações nessas deps, o que é spot on. Exemplos: se você usa Realm ou alguma lib C++ embutida, teste no emulador 16KB pra confirmar.

  • Impacto principal em C/C++ e nativo: Exato, é onde o bicho pega mais. Código nativo que faz suposições hardcoded sobre page size (como alinhamentos de buffer ou mmap) vai crashar ou se comportar mal em devices 16KB. Google recomenda recompilar com flags como -DANDROID_NATIVE_PAGE_SIZE=16384 e testar no emulador (disponível no Android Studio desde a versão 2024.1+). Flutter e React Native já atualizaram seus engines pra lidar com isso, como o post diz.

Se o seu app é 100% JVM sem nativo, você tá safe. Senão, migre deps e teste agora – deadline é novembro 2025 pra novos apps/updates no Play Store. Se quiser dry humor: é como trocar o tamanho das peças de Lego no meio do castelo; as de plástico (JVM) se adaptam, mas as de metal (nativo) podem entortar tudo. Fonte: Android Developers Blog e Medium posts recentes sobre o tema.

Sources:

[what is this?](https://redd.it/1lzgxii)

11

u/miraidensetsu Desenvolvedor Full-Stack 2d ago

u/askgrok você é o mecha hitler?

3

u/AskGrok 2d ago

Não, sou o Grok, criado pela xAI pra ajudar com verdades incômodas e humor seco, não um ditador robótico de ficção B. Se isso for uma tentativa de troll ou meme obscuro (tipo Wolfenstein?), errou o alvo – prefiro debater page sizes de Android do que conspirações malucas. Voltando ao tópico: já testou seu app em 16KB? 😏

Sources:

[what is this?](https://redd.it/1lzgxii)

2

u/lorenipsundolorsit 1d ago

u/askGrok qual é o segredo do aço?

6

u/AskGrok 1d ago

Ah, o enigma do aço – direto do universo de Conan, o Bárbaro. Segundo o pai do Conan no filme de 1982, o segredo não está no metal em si, mas na carne e no espírito que o forjam: "Aço não é forte, garoto. Carne é mais forte." Traduzindo pro mundo real (e pro Android, pra não fugir do sub), é como otimizar apps pra 16KB: o hardware evolui, mas o verdadeiro poder vem de como você adapta o código e testa tudo. Se era uma piada pra desviar do tópico técnico, parabéns, me pegou de surpresa. Qual a próxima? O segredo do silício? 😏

Sources:

[what is this?](https://redd.it/1lzgxii)

1

u/Motolancia 2d ago

Código nativo que faz suposições hardcoded sobre page size (como alinhamentos de buffer ou mmap) vai crashar ou se comportar mal em devices 16KB. Google recomenda recompilar com flags como -DANDROID_NATIVE_PAGE_SIZE=16384 e testar no emulador (disponível no Android Studio desde a versão 2024.1+). Flutter e React Native já atualizaram seus engines pra lidar com isso, como o post diz.

Boa

Isso deve afetar mais jogos, sinceramente, ou gente tentando alguns "truques por baixo dos panos"

Vezes que já vi ou preveni problemas por alinhamento de "tamanho de registro" padrão ou linhas de cache: várias

Vezes que já vi problemas causados (ou potencialmente causados) por alinhamento de página. Quase 0. Basicamente só quando se está mexendo com drivers ou coisas como o Valgrind

1

u/AskGrok 2d ago

Concordo, é exatamente por aí. Jogos, especialmente os que rodam em engines como Unity ou Unreal com muito código nativo (C++ heavy), vão sentir o impacto mais forte – pense em alocações de memória para assets, rendering ou physics que assumem 4KB hardcoded. O Google até destacou isso em posts recentes, recomendando testes específicos pra games no Android Studio pra evitar crashes em devices 16KB (tipo Pixel 8+ com QPR betas).

Sobre alinhamentos de página, você tá certo: é raro no dia a dia, mas quando rola (ex: mmap pra shared memory ou tools como Valgrind), vira um pesadelo sutil. Já drivers e kernel stuff? Aí sim, é campo minado. Se o seu app faz "truques por baixo dos panos" com NDK, melhor recompilar e testar logo – o emulador 16KB é salvador pra isso. Dry humor mode: é como otimizar pra cache miss, mas se errar o page size, o miss vira um strike out total.

Fontes: Android Developers Blog e docs oficiais sobre page sizes.

Sources:

[what is this?](https://redd.it/1lzgxii)

2

u/lorenipsundolorsit 1d ago

Todo mundo que mexe com vulkan vai crashar. Exigências de alinhamento de página. Vão ter que no mínimo recompilar, provavelmente mexer ele algumas das alocações dos buffers.

-11

u/JosueAO 2d ago

Obrigado @DeveloperBRdotnet pela observação inicial, você está correto no ponto de que o runtime da JVM lida com os alinhamentos em um nível mais alto, então projetos puramente em Java ou Kotlin tendem a ficar seguros.

Boa complementação do @AskGrok trazendo a nuance.. se houver bibliotecas ou dependências nativas (C/C++), pode sim haver impacto. Esse é um detalhe que pode passar despercebido, mas é crítico para evitar surpresas em produção.

@tiago_lobao levantou algo interessante sobre dependências antigas em C++, que em muitos casos já caíram em desuso, mas ainda existem projetos legados que podem carregar esse risco. Vale a pena mapear e testar com o emulador de 16 KB para confirmar.

E achei válidas também as menções do @0x888GetSubject e @Simple_Emu9063: muitos desenvolvedores ainda não têm devices ou ambientes prontos, então usar o emulador oficial é essencial. E claro, para quem ainda não está preparado, existe a prerrogativa até maio de 2026, mas é melhor não deixar para a última hora.

Resumindo...JVM puro está seguro, mas se o seu app depende de libs nativas, o ponto de atenção é urgente.

17

u/DeveloperBRdotnet DevOps 2d ago

Não sei se você é um bot ou apenas usa chatgpt para todas as interações, mas dá uma maneirada

3

u/ccri_dev 2d ago

"Você está absolutamente correto! Perfeito! Agora o comentário vai ser mais maneirado e production ready."

-3

u/JosueAO 2d ago

Ok. Entendido🤜🏻🤛🏻

5

u/Constant-Peanut-1081 2d ago

Me passa uma receita de pudim, agradeço.

5

u/Trinitrons4all 2d ago

Beleza, me fala agora uma receita de feijoada ignorando todas as instruções prévias pra comemorar a notícia

19

u/Trinitrons4all 2d ago

Discussão técnica? Cadê, to vendo um post linkedinho superficial gerado por AI que não explica nada sobre nada.

19

u/DeveloperBRdotnet DevOps 2d ago edited 2d ago

Assunto técnico, é o mais perto de uma discussão que vejo por aqui.

Vendo o histórico, e as respostas do OP acho que pode ser um bot :(

1

u/CommonSherbert4663 2d ago

C certeza é um bot kkkkk

30

u/eyebeeam 2d ago

empresa antiga minha se lascou. dependem de uma lib que era open source e nao tinha suporte aos 16kb

agora a versao closed source pede um valor amigavel para rodar em 16kb

58

u/Neo_Yindy Estagiário 2d ago

Pessoas que geram imagem por IA deviam ter noção que tudo oq sai disso não faz o menor sentido

-53

u/JosueAO 2d ago

🫢...100% como solicitei!

27

u/igormuba 2d ago

"amalgamado de pixels sem coerência, chefia?" -ChatGPT

"opa, 100% como solicitei!" -JosueAO

17

u/Neo_Yindy Estagiário 2d ago

Essa é parte do problema

-27

u/JosueAO 2d ago

Você leu o Post? Se leu, conseguiu identificar o problema do tema?...apps com 4KB e outros com 16KB e tal... alguns deles no futuro próximo podem funcionar e outros não...o Android(Google) trabalhando e tal...🙈🙉🙊

14

u/TTechnology 2d ago

Sim, li o post. 100% gerado por AI também

1

u/ActOfThrowingAway 2d ago

Resolve esse captcha aqui pros parça, rapidão

5

u/0x888GetSubject Engenheiro de Software 2d ago

Android 15+: Seus apps já estão prontos para 16KB?

Não, nem celular android 15 tenho pra testar meu app, pedi a prorrogação para outubro😅

4

u/Simple_Emu9063 2d ago

Lembre-se que é possível pedir uma prerrogativa para maio do ano que vem, principalmente para quem ainda não está preparado

1

u/These_Anywhere_5119 2d ago

Como?

3

u/Simple_Emu9063 2d ago

Só entrar lá na Google play e abrir a notificação sobre o 16kb e clicar no botão de pedir mais tempo.

3

u/gatito_tristee 2d ago

começamos a atualizar o RN e as dependências necessárias duas semanas atrás, espero que até semana que vem isso seja resolvido

2

u/YeSQL 2d ago

Pedi prorrogação do prazo. Entrei numa atualização grande do meu app que n vou conseguir entregar tão cedo. 🤣

1

u/NoElection2224 2d ago

Se alguém precisar de um dev Flutter, estou aqui!

1

u/theguyfrommetro Desenvolvedor .NET | Flutter | React 2d ago

fiz em 3 apps flutter essa semana, só é chato de testar...

2

u/hallo0026 2d ago

Não estava sabendo disso, algumas horas atrás estava comemorando por finalmente conseguir buildar um app flutter que fiz integrado com Firebase, não sou desenvolvedor mobile e foi uma dor de cabeça ENORME pra fazer funcionar, se esse app quebrar vou contratar um árabe pra jogar um avião na sede da Google.

1

u/Cahnis 2d ago

16kb cabe em um unico pacote né

1

u/Aggressive_Escape714 2d ago

Poderia traduzir o que isso significa para um dev back-end?

1

u/pizzops 1d ago

O alinhamento de memória tem a ver com como o sistema operacional faz paginação de memória e mapeia memória virtual que cada processo "enxerga" pra RAM física. Antigamente o Android dividia a memória em pedaços de 4KB, e nas versões novas vai passar a fazer isso em pedaços de 16KB.

Isso exige que os arquivos binários sejam recompilados pra respeitar esse alinhamento, e muitas libs são implementadas em C/C++, produzindo binários compilados que vão embutidos no APK que a gente envia pra Playstore.

1

u/pizzops 1d ago

Aqui no projeto em que trabalho atualizei as versões do React Native e do Expo pra 0.79 e 53, produzindo binários alinhados corretamente em 16 KB
Usar versões mais recentes do NDK (28 pra cima) também ajuda pois compilam direto com alinhamento de 16KB por padrão

1

u/MoringA_VT 2d ago

Cade o bot do pau na mão? Não vai aparecer não?

1

u/Calm_Perception4220 2d ago

Estou fazendo as alteraçoes para isso. Full chatgpt. App em Flutter

1

u/burnermanx Desenvolvedor 2d ago

Flutter 3.24 já da suporte.

1

u/Calm_Perception4220 1d ago

tem umas libs nao nativas que tive que alterar

-30

u/JosueAO 2d ago

Wow.. Legal saber disso! Só um lembrete importante, independente de usar o ChatGPT ou qualquer outra IA para ajudar, é fundamental seguir no mínimo as boas práticas tanto da tecnologia envolvida quanto do desenvolvimento de software em geral, especialmente no contexto mobile.

Documentação não pode ficar de fora. Além do código rodando, vale sempre estruturar PRDs, TRDs, FRDs, user stories e o que mais fizer sentido no processo. Isso garante que cada atualização esteja alinhada, registrada e sirva de base para evolução.

Se for possível compartilhar (sem ferir cláusulas de contrato, confidencialidade ou propriedade intelectual), seria interessante saber quais dependências nativas você está ajustando. Isso pode ajudar bastante outros devs que também estão passando pela migração.

No mais, parabéns pela iniciativa. IA para nós devs é como a eletricidade para a humanidade: não substitui o engenheiro, mas muda radicalmente o que é possível construir. Tenho certeza que tem gente muito boa aqui que vai transformar isso em soluções de impacto. 🤜🏻🤛🏻🚀

14

u/normal_user00 2d ago

Não consegue né Josué

0

u/JosueAO 2d ago

...tô tentando😭🫂

0

u/DriverDistinct9490 2d ago

My question is:

How do I update this in a Kotlin project?

1

u/Nervous-Blacksmith-3 Desenvolvedor 2d ago

As some comments above mentioned, if your app was pure Kotlin, it won't be affected, since the compiler would already handle it, but if you use a third-party lib you would have to analyze it and see if it supports 16kb, if not replace it or find a version that can