Android 版本是否有最小堆大小?

2024-04-14

许多帖子都谈到了 Android 堆大小,到目前为止我发现最大堆大小的唯一共同点是它至少为 16MB,但这是自 API 3 以来的限制。为了使用更多内存,人们会建议使用 NDK 或任何超出“正常”Android 开发的东西。

是否有任何 Android 版本要求设备具有更大的堆大小,以便我可以开始假设更大的堆大小并不再在内存上如此便宜?

是否还对清单内的大堆标志(来自 API 11 - 蜂巢)有要求,或者是设备甚至可能忽略它的模糊请求?

只是这些年来 Android 硬件已经进步了很多,但即使现在设备已经拥有超过 1GB 的 RAM,我们仍然需要如此便宜的内存。奇怪的是,我们不能要求操作系统提供特定数量的堆大小并承诺我们不会再使用它。


好吧,我终于找到答案了(感谢这个帖子 https://stackoverflow.com/a/16111924/878126) :

所有版本的 Android(包括 5)的最低限度是 16MB。

每个 Android 版本的要求可以在这里阅读:

http://source.android.com/compatibility/downloads.html http://source.android.com/compatibility/downloads.html

您可以通过打开 CDD 文件并搜索“运行时兼容性”(或旧版本的“虚拟机兼容性”)来了解它们。另外,您可以通过搜索“内存和存储”找到最低的 RAM 要求,但我认为这只是系统本身的要求。

例如,在 4.0.3 - 5 上,最小堆大小为:

  • 16MB:小/正常,带 ldpi/mdpi,或大,带 ldpi
  • 32MB:小/正常(tvhdpi/hdpi),或大(mdpi)
  • 64MB:xhdpi 的小/正常,tvdpi/hdpi 的大,或 mdpi 的 xlarge。
  • 96MB:小/正常,400dpi,或超大,tvhdpi/hdpi
  • 128MB:小/正常,xxhdpi,或大,xhdpi
  • 192MB:小/正常,560dpi,或大,400dpi,或 xlarge,xhdpi。
  • 256MB:小/正常,xxxhdpi,或大,xxhdpi
  • 288MB:400dpi 超大
  • 384MB:560dpi 的大型,或 xxhdpi 的超大
  • 512MB:大,xxxhdpi
  • 576MB:超大,560dpi
  • 768MB:xlarge,xxxhdpi

我找不到版本 3.x 的最小堆大小,但它可能与 4.0.3 相同。

对于 2.1 - 2.3 ,最小堆大小为:

屏幕分类为中级或中级的设备实现 低密度必须配置 Dalvik 分配至少 16MB 内存 到每个应用程序。屏幕的设备实现分类为 高密度或超高密度必须配置 Dalvik 来分配 每个应用程序至少有 24MB 内存。请注意该设备 实现可能会分配比这些数字更多的内存。

meaning:

  • 中屏或 ldpi - 16MB
  • hdpi 或 xhdpi - 24MB

我找不到版本 1.6 的最小堆大小,但它可能与 2.1 相同。

另外,我不知道每个 android 版本(自 3.0 起)的大堆标志应该做什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 版本是否有最小堆大小? 的相关文章

随机推荐

  • 以编程方式将 UITableView 行从一个位置移动/动画化到另一个位置

    我有一个 UITableView 我想以编程方式将一行从位置 N1 移动到位置 N2 并且我希望它能够从旧位置到新位置进行动画处理 我浏览了 UITableView 文档 只看到插入 重新加载和删除 您知道我可以通过编程方式执行此操作的方法
  • Kubernetes Istio 入口网关始终响应 503

    我正在使用 Helm 配置 Istio 在这里你可以找到我的istio config yaml global proxy accessLogFile dev stdout resources requests cpu 10m memory
  • 为什么当参数作为参数传递时 sp_executesql 运行速度变慢

    查询1 快如闪电 sp executesql select from tablesView where Id 1 vs 查询2 太慢 sp executesql select from tablesView where Id Id N Id
  • Chrome 扩展:在 Javascript 中检测新的一天(更改的日期)?

    我知道没有新的一天 或小时 分钟 的事件侦听器 但在我的 Chrome 扩展中 我需要知道新的一天何时开始 这意味着我必须使用 setInterval 函数来找出这一天何时发生变化 但是 我不确定间隔值使用什么 10 秒 还是 10 分钟
  • 如何使用 pandas 将 200.13K 和 1.2M 等数字字符串转换为整数? [复制]

    这个问题在这里已经有答案了 我的 df 中有一个列 Vol 其中的值以 K 和 M 结尾 分别表示数千和数百万 这些值是 dtype 中的 对象 我需要将它们转换为 双精度 Example for the column what I nee
  • Firebase身份验证:如何获取当前用户的密码?

    我是新来的火力地堡身份验证 所以 我正在创建一个带有配置文件的基本应用程序 我做了一个活动来编辑用户的基本信息 例如DisplayName and Email 我不想添加更改密码的功能 但首先 我不想检查当前用户的密码并将其与String从
  • 如何在linux中查找包含字符串的行[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 Linux 中有一个文件 我想显示该文件中包含特定字符串的行 该怎么做 通常的方法是使用grep https linux die n
  • Android 4.0 添加日历和事件

    我想在android 4 0及以上版本的设备中添加日历事件 目前我正在使用以下代码添加事件 if android os Build VERSION SDK INT lt 7 Uri calendars Uri parse content c
  • 如何使用摄像头直播作为活动背景?

    我正在尝试制作一个应用程序 其中我需要使用相机实时馈送作为背景 我知道这是一件愚蠢的事情 但无能为力 这是客户的要求 我尝试过使用SurfaceView但到目前为止还没有成功 到目前为止 我在 Stack Overflow 上发现的更多内容
  • 从conda为pip3创建requirements.txt

    我通常使用 conda 来管理我的环境 但现在我正在进行的项目需要比我的笔记本电脑更多的马力 因此 我尝试使用我大学的配备新英特尔至强处理器的工作站 但我没有管理员权限 而且工作站没有 conda 所以我被迫使用 virtualenv 和
  • 公共运算符 new、私有运算符删除:使用 new 时出现 C2248“无法访问私有成员”

    类具有重载运算符new and delete new是公开的 delete是私人的 在构造此类的实例时 出现以下错误 pFoo new Foo bar example cpp 1 错误 C2248 Foo operator delete 无
  • Android IAB 错误 - 需要身份验证

    我在我的应用程序中测试 In App Billing v3 时遇到问题 我无法使用测试帐户购买任何东西 它总是向我显示一个 Play 商店对话框 Error Authentication is required You must log i
  • Clang 和二进制折叠表达式 — 空参数包的诅咒

    具体来说 Clang 3 6 0 目前由 Coliru 托管 所有这些片段都是从以下位置调用的 int main foo std cout lt lt n n foo 1 2 3 以下代码 template
  • XAML 编辑器的黑色背景

    我目前正在开发一个具有白色文本和透明背景的用户控件 不幸的是 因为 VS2010 中的 XAML 设计视图具有白色背景 所以我看不到我正在设计的任何内容 我已经浏览了我能想到的所有设置对话框 但一直无法找到更改 XAML 设计器背景颜色的设
  • Android:多次播放 AudioTrack 会导致崩溃

    我正在尝试使用 AudioTrack 播放音频缓冲声音 wav 请参阅下面的代码 我需要在Thread下调用这个函数来支持同时播放 在线程下很好 正常播放声音效果很好 但是 如果我连续使用 AudioTrack 执行播放声音 即在完成第一个
  • 点冻结与点列表

    为什么pip list生成比以下更全面的列表pip freeze pip list feedparser 5 1 3 pip 1 4 1 setuptools 1 1 5 wsgiref 0 1 2 pip freeze feedparse
  • 对于大文件,使用 dataURI 创建 iframe 失败,有解决方法吗? [复制]

    这个问题在这里已经有答案了 function openNewWindow strPreviewId let newWindowViewer window open var index mapPreviewIdWithFile strPrev
  • 同一浏览器中不同用户的 Cookie

    网站页面上有一些下拉菜单 用户只有在经过身份验证后才能访问此页面 我想将此值保存到 cookie 中 并在用户返回我的网站时将其设置回下拉菜单 将当前选择的下拉选项值保存到 cookie 并稍后检索它不是问题 但是 如果我由另一个用户在同一
  • 如何在 LaTeX 中扩展文章文档类?

    我真的不需要对默认文章文档类进行大量更改 我想要的只是 重新定义页边距 我希望它们在所有页面上都相同 但与默认值不同 使用扉页 在标题页上添加更多元素 title author and date对我来说还不够 我想要company和公司lo
  • Android 版本是否有最小堆大小?

    许多帖子都谈到了 Android 堆大小 到目前为止我发现最大堆大小的唯一共同点是它至少为 16MB 但这是自 API 3 以来的限制 为了使用更多内存 人们会建议使用 NDK 或任何超出 正常 Android 开发的东西 是否有任何 An