我的应用是没有任何GUI的后台服务。 Apk大小约为9 MB。当我在Samsung Note II(OS 4.4.2)上安装此应用程序时,应用程序大小为18.55 MB,在Samsung Galaxy S4 37 MB和Samsung Galaxy S5 69.47 MB上。
我已经在Different installed app size on different devices
找到了类似的问题,但没有解决方法感谢您及时回复。
答案 0 :(得分:2)
这取决于你正在安装哪个android os。在Kitkat之后他们介绍了ART: ART(Android RunTime)是Dalvik的下一个版本。 Dalvik是Android系统用于运行Android应用程序的运行时,字节码和VM。
与Dalvik相比,ART有两个主要特征: Ahead-of-Time(AOT)编译,可提高速度(特别是启动时间)并减少内存占用(无JIT) 改进的垃圾收集(GC)AOT意味着您的应用程序被编译为本机代码一次。存储在手机上并运行的内容实际上是原生的,而不是字节码。这与解释字节码的传统VM模型不同。解释器很慢,因此VM开发人员添加了一种名为Just-in-Time(JIT)编译的技术,该编译可以动态地编译(并希望优化)您的代码到本机代码。 Dalvik是一个JIT的虚拟机。 JIT的缺点是JIT编译器在您使用应用程序时运行,增加了延迟和内存压力。好处是JIT编译器可以查看您如何使用代码执行配置文件定向优化。
AOT就像JIT一样,但它会在应用程序安装时运行一次。虽然它缺乏执行配置文件定向优化的能力,但由于编译时间较不敏感,因此可以执行更广泛的优化。 AOT在诸如移动设备之类的系统上很有用,其中JIT为运行的应用程序增加了不可接受的延迟或内存成本。我认为AOT是Android的正确步骤,ART看起来非常令人印象深刻。
ART最初包含在Android KitKat中,但默认情况下尚未启用。您可以通过设置>启用它。开发人员选项>选择运行时>使用ART。
所以它根据android框架而有所不同。
答案 1 :(得分:2)
您可以尝试 android:installLocation
应用程序可能安装在外部存储器上,但是 系统会将应用程序安装在内部存储器上 默认。如果内部存储已满,则系统将安装 它在外部存储器上。安装后,用户可以移动 通过系统应用于内部或外部存储 设置。
android:installLocation="auto"
<强> FYI 强>
Google Play商店主应用程序(APK)大小,而不是总应用 size,包括OBB(不透明二进制Blob)扩展文件。 OBB是应用程序下载运行的额外文件。