App Size Optimization no desenvolvimento mobile: fundamentos, métodos e práticas

Autor: IT Sectr Publicado: 2026-04-01 Tempo de leitura: 8 min

App Size Optimization — conjunto de técnicas destinadas a reduzir o tamanho do arquivo de instalação (APK, AAB, IPA) sem perda de funcionalidade. De acordo com o Android Reduce APK Size Guide, cada megabyte de redução de tamanho pode aumentar a conversão de instalações em 1–2% em regiões com internet lenta. App Thinning — a principal tecnologia da Apple que entrega apenas os recursos necessários a um dispositivo específico.

Principais pontos

  • App Size Optimization — redução do arquivo de instalação para aumentar a conversão e velocidade de download
  • Aumento de conversão — cada 1 MB de redução aumenta a probabilidade de instalação em 1–2%
  • App Thinning — tecnologia da Apple com On-Demand Resources e Slicing para reduzir a instalação
  • ProGuard e R8 — ferramentas de ofuscação e minificação de código para Android
  • Otimização de recursos — remoção de assets não utilizados, compressão de imagens e fontes

O que é App Size Optimization

App Size Optimization é uma disciplina do desenvolvimento mobile destinada a minimizar o tamanho do pacote de instalação do aplicativo. Inclui remoção de código e recursos mortos, compressão de imagens, otimização de bibliotecas, fragmentação de compilação para diferentes arquiteturas e uso de tecnologias de entrega sob demanda.

O tamanho do aplicativo afeta desigualmente diferentes segmentos de usuários. Em regiões com infraestrutura mobile desenvolvida (EUA, Europa, Japão) a diferença entre 50 e 100 MB pode ser imperceptível. Em regiões em desenvolvimento (Índia, Indonésia, Brasil) cada megabyte extra reduz a conversão de instalações devido aos limites dos planos de dados e à velocidade da internet móvel. Google Play limita o tamanho do APK a 200 MB, mas recomenda mantê-lo abaixo de 100 MB.

Para a App Store da iOS, o tamanho máximo de download pela rede celular é 200 MB (era 150 MB antes de 2023). Se o IPA exceder este limite, o usuário só pode instalar o aplicativo via Wi-Fi. A Apple também suporta App Thinning, que inclui Slicing, Bitcode e On-Demand Resources — tecnologias que reduzem automaticamente o tamanho da instalação em um dispositivo específico sem intervenção do desenvolvedor.

Por que o tamanho do aplicativo é crítico

O tamanho do aplicativo afeta não apenas a conversão de instalações, mas também a retenção, a frequência de atualizações e a velocidade do primeiro lançamento. Cada megabyte adicional é uma barreira entre o usuário e o uso do seu produto.

Impacto na conversão de instalações

Segundo dados do Google I/O 2024, reduzir o APK em 10 MB aumenta a conversão de instalações em média 3,5%. Para aplicativos de 150+ MB, a conversão pode ser 20–30% menor do que para aplicativos da mesma classe com 50 MB. O efeito é especialmente notável no Google Play, onde o usuário vê o tamanho antes da instalação. Na App Store, o tamanho é mostrado na página do aplicativo, e usuários com planos de dados limitados adiiam a instalação para o Wi-Fi, após o que frequentemente esquecem do aplicativo.

Frequência de atualizações e atualização over-the-air

Aplicativos grandes são atualizados over-the-air com menos frequência — os usuários adiam o download de patches para o Wi-Fi, perdendo correções críticas de segurança. O Google Play permite Incremental Updates (patches de até 10 MB), mas uma reinstalação completa ainda baixa o APK ou AAB completo. A App Store da Apple usa Delta Updates, transferindo apenas os arquivos alterados, mas mesmo o delta pode ser significativo quando os recursos mudam.

Primeiro lançamento e descompactação

O tamanho afeta diretamente o tempo do primeiro lançamento: o aplicativo deve descompactar recursos, compilar código (Android) ou assinar o cache (iOS). Um aplicativo de 200 MB pode iniciar 10–15 segundos mais lentamente que um de 50 MB em um dispositivo médio. Isso piora a Experiências de integração — o usuário pode fechar o aplicativo sem esperar o carregamento.

TamanhoTempo de download (3G)Tempo do primeiro lançamento
30 MB~20 seg3–5 seg
100 MB~70 seg5–8 seg
200 MB~140 seg10–15 seg

Otimização de recursos e assets

Os recursos — imagens, fontes, sons, vídeos — constituem 60–80% do tamanho de um aplicativo mobile típico. A otimização de recursos oferece o maior ganho com o mínimo esforço. As principais direções são: compressão, remoção de duplicatas e assets não utilizados, escolha dos formatos corretos.

Otimização de imagens

WebP — um formato de imagem do Google que fornece compressão 25–35% melhor que PNG e 15–20% melhor que JPEG com a mesma qualidade visual. O Android suporta WebP nativamente desde a API 18. Para iOS, o WebP é suportado através das bibliotecas SDWebImage ou Kingfisher, e com o iOS 17 surgiu o suporte nativo. AVIF — um formato mais moderno que oferece uma economia adicional de 10–15% em relação ao WebP, mas com decodificação mais lenta.

Remoção de recursos não utilizados — a maneira mais simples de reduzir o tamanho. No Android, use a refatoração com Android Studio: Analyze → Run Inspection → Unused Resources. No iOS — Build Settings → Remove Unused Resources. Frequentemente, os projetos mantêm sprites de versões anteriores, ícones antigos, imagens de tela de inicialização não utilizadas que inflam o tamanho sem nenhuma carga funcional.

FormatoCompressão vs PNGSuporte
PNGTodas as plataformas
WebP25–35%Android nativo, iOS via bibliotecas
AVIF35–45%Android 12+, iOS 17+
JPEG XR30–40%Apenas Windows

Otimização de fontes e sons

Fontes personalizadas podem ocupar 5–15 MB, especialmente se toda a família tipográfica for incluída (todos os estilos: Regular, Bold, Italic, BoldItalic). Use apenas os estilos necessários e subconjuntos de caracteres através de subsetting — remoção de glifos para idiomas não suportados pelo aplicativo. Serviços como Google Fonts e Transfonter permitem criar um conjunto mínimo de caracteres. Para áudio, use AAC/HE-AAC em vez de WAV e formatos não comprimidos — economia de até 90% sem perda de qualidade.

Otimização de código e bibliotecas

O código constitui 20–40% do tamanho do aplicativo, mas sua otimização é mais complexa que a de recursos porque requer análise de dependências, ofuscação e remoção de código morto sem risco de quebrar a funcionalidade.

ProGuard e R8 para Android

ProGuard é uma ferramenta para Android que realiza ofuscação, minificação e otimização de código. R8 — seu sucessor, incorporado ao Android Gradle Plugin, funciona mais rápido e de forma mais eficiente. O R8 remove classes e métodos não utilizados, encurta nomes de variáveis e reescreve o código para reduzir o número de instruções. A redução típica do tamanho dos arquivos DEX com R8 é de 30–50%.

groovy
// build.gradle — configuração do R8 para minificação
android {
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile(
                'proguard-android-optimize.txt')
            shrinkResources true
        }
    }
}

Otimização de bibliotecas e dependências

As bibliotecas — uma causa comum de tamanho inflado. Uma biblioteca pode arrastar dependências transitivas que aumentam o tamanho em 5–20 MB sem benefício direto para o aplicativo. Use Gradle Version Catalog para Android e Swift Package Manager para iOS com declaração explícita de dependências. Analise o tamanho com o Build Analyzer no Android Studio ou Xcode Build Timeline. Substitua bibliotecas pesadas por alternativas mais leves: por exemplo, OkHttp (3 MB) em vez de Apache HTTP (15 MB).

Remoção de código não utilizado no iOS

Dead Code Stripping — remoção automática de métodos e classes não utilizados na etapa de ligação no Xcode. Ativado via Build Settings → Dead Code Stripping = YES. Bitcode — uma representação intermediária que a Apple pode recompilar para diferentes arquiteturas, removendo funções não utilizadas. No entanto, desde o Xcode 14, o Bitcode tornou-se opcional, e sua contribuição para a redução de tamanho é de 5–15% para projetos Objective-C e menor para Swift.

App Thinning e entrega sob demanda

App Thinning — tecnologia da Apple que reduz automaticamente o tamanho do aplicativo instalado ao entregar apenas os recursos necessários para um dispositivo específico. Consiste em três componentes: Slicing, On-Demand Resources e Bitcode. No Android, o equivalente é o Android App Bundle (AAB) com Dynamic Delivery.

Android App Bundle (AAB)

AAB — um formato de publicação no Google Play onde a loja gera APKs para cada dispositivo separadamente, incluindo apenas os recursos para sua arquitetura (armeabi-v7a, arm64-v8a), densidade de tela (mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi) e idiomas. A redução típica do tamanho de instalação ao migrar de um APK universal para AAB é de 20–40%. Play Feature Delivery permite carregar módulos sob demanda, enquanto os módulos Install-time são incluídos na instalação base.

groovy
// build.gradle — configuração de AAB e Dynamic Features
android {
    bundle {
        language {
            enableSplit = true
        }
        density {
            enableSplit = true
        }
        abi {
            enableSplit = true
        }
    }
}

On-Demand Resources no iOS

On-Demand Resources (ODR) — um mecanismo do iOS onde os recursos (níveis de jogo, imagens de alta resolução, vídeos) são baixados dos servidores da Apple apenas quando realmente necessários ao usuário. O tamanho da instalação inicial pode ser reduzido em 50–80%. Os recursos são divididos em três categorias: Initial Install Tags (baixados durante a instalação), Prefetched Tag Order (baixados em segundo plano após a instalação) e On-Demand (baixados apenas sob solicitação). A Apple recomenda usar ODR para conteúdo que não é necessário na primeira tela: níveis de jogo, conteúdo adicional, tutoriais em vídeo.

SwiftUI suporta ODR através do atributo Bundle.module, enquanto UIKit usa NSBundleResourceRequest. Para jogos em Unity e Unreal Engine, o ODR é integrado no nível do wrapper nativo. A principal limitação é que os recursos ODR são excluídos pelo sistema quando o espaço está baixo, portanto os dados críticos devem ser incluídos na compilação principal.

Perguntas frequentes

Qual é o tamanho ideal para um aplicativo mobile?

Menos de 50 MB — tamanho ideal para máxima conversão de instalações. 50–100 MB — aceitável para a maioria dos aplicativos. Acima de 100 MB — requer justificativa pelo tamanho (jogos, mapas offline, editores de conteúdo).

O que é mais vantajoso otimizar — código ou recursos?

Os recursos oferecem maior ganho em menos tempo. Comece removendo assets não utilizados, convertendo PNG para WebP e comprimindo áudio. Depois passe para a otimização de código via R8 ou Dead Code Stripping.

Como o AAB reduz o tamanho do APK?

O Google Play gera um APK apenas para o dispositivo específico: código arm64-v8a, recursos xhdpi, idioma necessário. Um APK universal contém todas as variantes de uma vez, aumentando o tamanho em 1,5–2 vezes. O AAB resolve este problema no nível da loja.

O tamanho afeta a velocidade de funcionamento do aplicativo?

Indiretamente. Um tamanho maior significa mais código para compilação JIT/AOT, mais recursos para carregar na memória e mais tempo para analisar manifests. No entanto, o impacto direto no desempenho em tempo de execução é mínimo — o tamanho afeta a instalação e o primeiro lançamento.

O que são módulos Install-time vs On-Demand?

Install-time — parte da instalação base, disponível imediatamente. On-Demand — carregado no primeiro acesso, não incluído na instalação inicial. Use On-Demand para recursos necessários a menos de 20% dos usuários: diagnósticos, tutoriais, filtros AR.

Resumo

  • App Size Optimization — redução do tamanho do aplicativo para aumentar conversão e velocidade de download
  • Os recursos constituem 60–80% do tamanho — sua otimização oferece o maior ganho
  • WebP e AVIF — formatos de compressão de imagem com economia de 25–45% em relação ao PNG
  • R8 para Android reduz DEX em 30–50% através de minificação de código
  • App Thinning (iOS) e AAB (Android) entregam apenas os recursos necessários
  • On-Demand Resources permitem baixar conteúdo após a instalação
  • Tamanho alvo para máxima conversão — menos de 50 MB

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também