Com que frequência o Android tem que descomprimir arquivos APK e OBB de um aplicativo? -- applications campo com internal-storage campo com apk campo com system camp android Relacionado O problema

How often does Android have to decompress an app's APK and OBB files?


1
vote

problema

português

De acordo com um dos ótimos respostas para Esta questão , o Android tem que descomprimir os arquivos APK e OBB de cada aplicativo antes que o aplicativo possa ser executado.

Esta descompressão é executada todas as vezes que um aplicativo é executado, assumindo que foi enviado para fora do cache do processo do Android?

Inglês Original

According to one of great answers to this question, Android has to decompress each application's APK and OBB files before the app can be run.

Is this decompression performed each and every time an app is run, assuming it has been pushed out of Android's process cache?

           
 
 

Lista de respostas

1
 
vote

Sim, e não. Os aplicativos Android não são descompactados no sistema de arquivos quando ele precisa ser executado. Em vez disso, eles são seletivamente descomprimidos e lidos em memória / ram pela máquina virtual dalvik. Esta descompressão é um processo muito simples, rápido e não-processador-intensivo, por isso não adiciona nenhuma sobrecarga real ao sistema. Na primeira instalação, há alguma otimização pela Dalvik VM, ligando principalmente a bibliotecas nativas no sistema Android às bibliotecas APK internas, e isso é salvo no cache Dalvik como um arquivo dex Optimizado (.Odex)

[Side Note, é por isso que a primeira inicialização de um telefone demora mais, pois o sistema tem que criar arquivos Odex para qualquer aplicativo que não tenha um arquivo Odex. Os aplicativos do sistema são normalmente feitos para ter um Odex pelo fabricante]

Um apk tem uma estrutura predefinida, incluindo listas de arquivos, recursos, ativos, bibliotecas, Dex (arquivos de classe Java convertidos no formato executável Dalvik) etc. O sistema descompacta e lê esses arquivos na memória e segue o código dentro. Esse código informa quando descompactar e carregar os outros arquivos.

Nunca atinge o disco rígido, entra na memória.

 

Yes, and no. Android apps are not decompressed into the file system when it needs to run. Instead, they are selectively decompressed and read into memory/ram by the Dalvik virtual machine. This decompression is a very simple, quick, non-processor-intensive process, so it does not add any real overhead to the system. On first install, there is some optimization by the Dalvik VM, mainly linking to native libraries on the Android system to the internal APK libraries, and this is saved into the Dalvik-cache as an optimized dex file (.odex)

[Side note, this is why the first boot of a phone takes longer, as the system has to create odex files for any app that does not have an odex file. System Apps are typically made to have an odex by the manufacturer]

An APK has a predefined structure, including file lists, resources, assets, libraries, dex (Java Class files converted into Dalvik Executable Format) etc. The system decompresses and reads these files into memory, and follows the code inside. That code tells it when to decompress and load the other files.

It never hits the hard drive, goes right into memory.

 
 
     
     

Perguntas relacionadas

6  Como faço para desinstalar um aplicativo?  ( How do i uninstall an application ) 
Se eu quiser desinstalar um aplicativo da tela inicial ou da lista de aplicativos; Como faço isso? ...

3  Como visualizar o tráfego de rede solicitado por um aplicativo específico?  ( How to view network traffic requested by a specific app ) 
Há muita discussão sobre como ver qual aplicativo está solicitando conexão de rede. Eu tentei os seguintes aplicativos: tcapturepacket wifi monitor connect...

1  Apps Android não podem acessar meu armazenamento de cartão SD, mas os gerentes de arquivos podem  ( Android apps cant access my sd card storage but file managers can ) 
Apps como o YouTube, Netflix, Prime Video não possuem uma opção "Store to SD". Eu tentei 3 cartões SD diferentes com meu telefone, formatá-los, mas ainda assi...

0  Escolha um aplicativo específico para abrir um arquivo específico  ( Choose a specific app to open a particular file ) 
Eu criei algum e-learning usando o enredo articulado 2 que eu quero ver no meu Samsung Galaxy. Os arquivos estão fisicamente na pasta de documentos. O módulo ...

1  A execução do aplicativo é desligado quando os poderes da tela  ( Running app is shut down when screen powers on ) 
Recentemente atualizei meu Samsung S3 (T-Mobile) com a Atualização OTA para o Android 4.1. Desde a atualização, depois que a tela do telefone alimenta (manual...

6  Por que as notificações "atualizadas com sucesso" desaparecem?  ( Why do the successfully updated notifications disappear ) 
Eu notei um comportamento estranho ao atualizar aplicativos com o mais recente de gengibre (2.3.5?) e agora o sanduíche de sorvete (4.0.3) constrói. Também po...

20  Existe um player de música que suporta contagens de jogos e playlists inteligentes? [fechado]  ( Is there a music player that supports play counts and smart playlists ) 
. FECHADO. Esta questão é off-tópico . Atualmente não está aceitando respostas. Quer melh...

0  Nexus 10 não reconhecido no Debian Wheezy / Mac OS / Windows 8 com ADB  ( Nexus 10 not recognized on debian wheezy mac os windows 8 with adb ) 
Estou tentando conectar meu tablet Nexus 10 + Android 4.4 + Cyanogen-Mod 11 para o meu computador desktop, onde instalei o Debian Wheezy usando ADB. Trabalhou...

4  Por que vejo anúncios depois de fechar o Whatsapp?  ( Why do i see adverts after closing whatsapp ) 
Toda vez que feche o WhatsApp Eu recebo algum tipo de anúncio. De acordo com o seu site Eles não anunciam, mas vejo anúncios como Isso depois de fechar o ...

19  Como posso encontrar um telefone perdido ou ajudar as pessoas a devolvê-lo?  ( How can i find a lost phone or help people return it ) 
Estou à procura de um aplicativo como Onde está o meu droid para ajudar a localizar um dispositivo perdido. Idealmente estou esperando que haja um que p...

0  Quais são esses ícones em um Android?  ( What are these icons on an android ) 
Alguém poderia, por favor, diga o que esses aplicativos são? ...

2  Como mover aplicativos do telefone para o cartão SD?  ( How to move applications from phone to sd card ) 
Eu comprei recentemente o Sony Xperia Tipo Dual Telefone, não consegui encontrar para mover os aplicativos para o cartão SD. Podemos poder mover os aplicativo...

10  Como posso ver apenas classificações de uma estrela na Google Play Store?  ( How can i view only one star ratings in google play store ) 
Eu acho bastante irritante que não há maneira fácil de ordenar os comentários de um aplicativo para Android: - Nem posso procurar por certas palavras-chave qu...

0  Como converter meu telefone no modo silencioso no modo geral automaticamente para um número de celular específico  ( How to convert my phone in silent mode into general mode automatically for speci ) 
Se meu celular estiver no modo silencioso e eu quero que meu telefone converte automaticamente o modo silencioso para o modo geral, recebendo chamada de númer...

3  Existe um programa que vai registrar cada programa que eu começo no meu dispositivo Android?  ( Is there a program which will log each program i start on my android device ) 
Eu estou procurando um programa que conte cada início de um programa no meu dispositivo Android. ao longo do tempo, você instala um monte de programas. ...




© 2021 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.