Android多久要解压缩应用程序的APK和OBB文件? -- applications 领域 和 internal-storage 领域 和 apk 领域 和 system 领域 android 相关 的问题

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


1
vote

问题

中文

根据伟大的答案 这个问题,Android必须在运行应用程序之前解压缩每个应用程序的APK和OBB文件。

是每次运行App的每次运行时执行的这种解压缩,假设它已被推出android的进程缓存?

英文原文

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?

           
 
 

回答列表

1
 
vote

是的,否。 Android应用程序在需要运行时没有解压缩到文件系统中。相反,它们被Dalvik虚拟机选择性地解压缩并读入<强> 内存/ RAM 。这种解压缩是一个非常简单,快速,非处理器密集型过程,因此它不会在系统中添加任何真正的开销。在第一次安装时,Dalvik VM有一些优化,主要将Android系统上的本机库链接到内部APK库,这将保存到Dalvik-Cache作为优化的DEX文件(.odex)

[side note,这就是为什么手机的第一个启动需要更长的原因,因为系统必须为没有odex文件的任何应用程序创建odex文件。系统应用程序通常由制造商提供odex]

APK具有预定义的结构,包括文件列表,资源,资产,库,DEX(将转换为DALVIK可执行格式的Java类文件)等。系统解压缩并将这些文件读入内存,然后遵循内部的代码。该代码告诉它何时解压缩并加载其他文件。

它永远不会击中硬盘,进入内存。

 

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.

 
 
     
     

相关问题

0  Android上的这些图标是什么?  ( What are these icons on an android ) 
可以有人请告诉这些应用程序是什么? ...

1  在屏幕为电源打开时,正在运行的应用程序关闭  ( Running app is shut down when screen powers on ) 
我最近将Samsung S3(T-Mobile)更新为Android 4.1的OTA更新。自更新以来,手机屏幕向下电(​​手动或计时器)后,重新打开屏幕关闭运行应用程序。我不知道这是否是带有Android 4.1的一些新的默认行为,或者如果这是T-Mobile自定义("功能" )或错误(带有Android或T-Mob...

3  如何查看特定应用程序请求的网络流量?  ( How to view network traffic requested by a specific app ) 
有很多关于如何查看哪个应用程序请求网络连接的讨论。我尝试了以下应用程序: tcapturepacket wifi monitor connection tracker 但是,它们都没有有用。例如,在短时间内,我上传了一个30kb的PCAP文件,可以被视为 < / a>。我仍然没有找到哪个应用程序请求连接以及...

2  如何将应用程序从手机移动到SD卡?  ( How to move applications from phone to sd card ) 
我最近购买了索尼Xperia tipo双手机,我找不到将应用程序移动到SD卡。我们可以将应用程序从手机标准内存移动到电话内存。 可以任何人给我解决方案,将应用程序从手机移动到SD卡? ...

0  Nexus 10未在Debian Wheezy / Mac OS / Windows 8上识别adb  ( Nexus 10 not recognized on debian wheezy mac os windows 8 with adb ) 
我正在尝试将我的平板电脑Nexus 10 + Android 4.4 + Cyanogen-Mod 11连接到我的桌面电脑,我已经使用亚行安装了Debian Wheezy。它在前段时间工作,现在它既不再使用Debian Linux也不是Windows 8或Mac OS。在这里检查: root@localhost:...

1  Android应用程序无法访问我的SD卡存储,但文件管理器可以  ( Android apps cant access my sd card storage but file managers can ) 
像YouTube,Netflix,Prime Videa等应用程序没有"存储到SD卡" 选项。我用手机尝试了3张不同的SD卡,格式化了它们,但仍然,应用程序无法检测到SD卡,没有选择下载到外部存储器的选项。 但是,文件管理器和应用程序等VLC,专辑,基本上任何媒体应用程序都可以访问和浏览存储在SD卡中的文件。我该如何...

0  选择特定的应用程序以打开特定文件  ( Choose a specific app to open a particular file ) 
我使用铰接式故事情节2创建了一些电子学习,我想在我的三星Galaxy上查看。文件在我的文档文件夹中物理上。模块不在互联网上 - 我还在测试它。运行电子学习模块的文件是"Story.html" 。它会 - 我被告知 - 使用一个名为Atticulate播放器的免费应用程序在Android上运行 - 我已安装的免费应用程...

3  是否有程序将记录我在Android设备上启动的每个程序?  ( Is there a program which will log each program i start on my android device ) 
我正在寻找一个将 count compling的程序,在我的Android设备上计算每个程序。 随着时间的推移,你安装了很多程序。 很高兴看到你在时间随着时间的推移实际上开始这些程序。 可以给出良好的指示您是否应该将程序留在设备上,或不留下。 ...

19  如何找到丢失的手机或帮助人们返回它?  ( How can i find a lost phone or help people return it ) 
我正在寻找一个像 的应用程序,我的droid 有助于找到丢失的设备。 理想情况下,我希望有一个可能有两个特定功能: 能够向屏幕显示消息以帮助人们返回它,如Windows Phone 7将拥有,如这里说明。 能够在远程转动GPS以帮助手机的物理位置。我不想一直都要保持GPS,避免电池排水。 在非生根的Ga...

6  为什么“成功更新”通知消失了吗?  ( Why do the successfully updated notifications disappear ) 
我注意到使用较新的姜饼(2.3.5?)和现在冰淇淋三明治(4.0.3)构建时,我注意到了奇怪的行为。其他版本也可能是这种情况,但我还没有看到它的2.3.3且我的Nexus S. 编辑:作为Chahk指出下面,它可能与Android有关操作系统版本,而是最近的市场应用程序。 我有很多应用程序(目前左右160)。现在,当...

0  如何将我的手机在静音模式中自动转换为常规模式,以便特定手机号码  ( How to convert my phone in silent mode into general mode automatically for speci ) 
如果我的手机处于静默模式,我希望我的手机通过仅为我的父母或朋友的特定号码呼叫来自动将静音模式转换为一般模式。 许多时候我的手机都处于沉默模式。如果他们是紧急呼叫,那么即使在沉默模式下也需要我在我的手机上得到一个警报。 ...

10  如何在Google Play商店中只查看一个星级评级?  ( How can i view only one star ratings in google play store ) 
我发现它很烦人的是,没有简单的方法来排序Android应用程序的评论: - 我也不能搜索可能出现在审查中的某些关键字。 - 我也不能改变排序顺序,即,我可以按评级排序,但如果我想看到1星级的评分。我必须通过数千个更高的评分滚动。 我感到非常欺骗谷歌。当然,他们想要做什么 - 隐藏来自用户的"坏" 额定值。但认真,...

4  关闭WhatsApp后为什么会看到广告?  ( Why do i see adverts after closing whatsapp ) 
每次关闭whatsapp我得到某种广告。 根据他们的网站他们不宣传,但我看到广告喜欢关闭应用程序后: 单击较大版本 的图像 我已联系Whatsapp支持团队,他们的回复是: whatsapp不宣传。如果您看到了您的广告 设备,它来自您的设备而不是WhatsApp。 如何在它自己的方式通告?? ...

6  如何卸载应用程序?  ( How do i uninstall an application ) 
如果我想从主屏幕或应用程序列表中完全卸载应用程序;我该怎么做? ...

20  是否有一个支持播放计数和智能播放列表的音乐播放器? [关闭]  ( Is there a music player that supports play counts and smart playlists ) 
关闭。这个问题是 off-topic 。它目前不接受答案。 想要改进这个问题?更新这个问题,所以它是关于android爱好者堆栈交换的主题。 cl...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.