gpt4 book ai didi

android - 为什么我的 Android 应用程序在不同的操作系统版本上分配的内存量大不相同?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:18:30 25 4
gpt4 key购买 nike

我有一个非常简单的 Android 应用程序,它包含一个带有一些文本框的 Activity 和一些处理代码。

当我将它安装在 2.3 设备上并首次打开它时,它会分配~2.7MB 的内存(根据 Eclipse DDMS 中的堆更新选项卡)。

在 3.1 设备上,它分配 ~6.1MB。

在 4.0 设备上,它分配 ~13.8MB。

我在 3 者之间没有做任何代码更改,并且这些措施是在应用程序的初始安装/打开时采取的(因此它没有时间进行任何泄漏)。它不使用图像,也没有专门启用硬件加速。

有谁知道为什么足迹可能相差如此之大?我认为这与操作系统版本的差异有关,但我想知道是否有人知道这些差异可能是什么。

我已经读到有关从 3.0 开始的位图分配的变化导致分配的内存明显增加,但我的应用程序不使用任何图像。它仅由几个 EditText 字段和 TextView 组成。

最佳答案

前 Honeycomb 位图在 native 堆中分配。从 Android 3.0(包括 ICS)开始,位图的像素数据在 Dalvik 堆中分配。 2.3 和 3.1 的区别可能是因为这个。

ICS 确实比 3.1 使用内存,我不知道它的原因。

关于android - 为什么我的 Android 应用程序在不同的操作系统版本上分配的内存量大不相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9610151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com