Android中使用的确切内存模型是什么?

卡贾尔

我对Android内存的结构和管理方式感到困惑。我想了解内存在应用程序之间分配和共享的方式。

到目前为止,据我了解,每个应用程序都分配有自己的Dalvik内存堆,该堆有严格的上限。使用并发标记清除清除垃圾收集机制对此进行管理。

1)我的问题是,应用程序中仅使用“堆”,还是每个应用程序也都具有“堆栈”?在这里读到,每个进程都有一个堆栈以及一个堆(复制GC可以在该堆上进行)。这个堆栈在哪里,它的用途是什么?

2)该链接还说,在堆栈上使用了CMS,这对我来说没有意义,因为不通过堆栈元素会顺序杀死LIFO吗?在这种情况下是否不需要压缩?

3)另外,当进程共享内存(ashmem)时,是将其实现为共享堆还是共享堆栈?

三毛

抱歉,我不明白您的第三个问题,但我可以回答第一个和第二个问题:

1)每个android应用程序都有一个Stack和一个用于内存分配,并且诸如String之类的对象分配在Heap上,诸如intchar之类的原始变量则分配在Stack上

2)CMS是垃圾收集算法,其用于在自动管理存储器。所以它不能被用于协议栈

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在C ++中使用regex_iterator的确切方法是什么?

来自分类Dev

在C ++中使用regex_iterator的确切方法是什么?

来自分类Dev

使用git show时,“:”的确切含义是什么?

来自分类Dev

“登录”的确切定义是什么

来自分类Dev

“登录”的确切定义是什么

来自分类Dev

“登录”的确切定义是什么

来自分类Dev

ping -A的确切含义是什么

来自分类Dev

exist()的确切用法是什么?

来自分类Dev

使用Mongoid ORM在Rails API中为GeoJson数据创建模型的确切方法是什么?

来自分类Dev

术语:汤普森书中使用的Haskell中“类型表达”的确切定义是什么?

来自分类Dev

与API级别相比,Android NDK平台版本的确切含义是什么?

来自分类Dev

Android中严格模式线程策略的确切用途是什么?

来自分类Dev

在Android上启用Safetynet设备检查API的确切步骤是什么

来自分类Dev

使用vb.net打开sqlite“临时”数据库的确切语法是什么

来自分类Dev

你怎么找到使用Java一个词的确切含义是什么?

来自分类Dev

使用vb.net打开sqlite“临时”数据库的确切语法是什么

来自分类Dev

使用Swift(2.0)查询Firebase(3.2.0)的确切方法是什么?

来自分类Dev

使用javascript和php的“推送”的确切机制是什么?

来自分类Dev

这个例子使用delegate()的确切含义是什么?

来自分类Dev

JPA @Entity批注的确切含义是什么?

来自分类Dev

在Clojure中,相同的确切行为是什么?

来自分类Dev

javascript中if(variable)的确切取反是什么?

来自分类Dev

Rust中for循环的确切定义是什么?

来自分类Dev

-XX + UseCMSCompactAtFullCollection的确切用途是什么?

来自分类Dev

通过brew安装yum的确切命令是什么?

来自分类Dev

在Pickler中__reduce__的确切用法是什么

来自分类Dev

自动实现的属性的确切用途是什么

来自分类Dev

String.LegacyMode属性的确切含义是什么?

来自分类Dev

OpenJDK JMH“得分错误”的确切含义是什么?

Related 相关文章

  1. 1

    在C ++中使用regex_iterator的确切方法是什么?

  2. 2

    在C ++中使用regex_iterator的确切方法是什么?

  3. 3

    使用git show时,“:”的确切含义是什么?

  4. 4

    “登录”的确切定义是什么

  5. 5

    “登录”的确切定义是什么

  6. 6

    “登录”的确切定义是什么

  7. 7

    ping -A的确切含义是什么

  8. 8

    exist()的确切用法是什么?

  9. 9

    使用Mongoid ORM在Rails API中为GeoJson数据创建模型的确切方法是什么?

  10. 10

    术语:汤普森书中使用的Haskell中“类型表达”的确切定义是什么?

  11. 11

    与API级别相比,Android NDK平台版本的确切含义是什么?

  12. 12

    Android中严格模式线程策略的确切用途是什么?

  13. 13

    在Android上启用Safetynet设备检查API的确切步骤是什么

  14. 14

    使用vb.net打开sqlite“临时”数据库的确切语法是什么

  15. 15

    你怎么找到使用Java一个词的确切含义是什么?

  16. 16

    使用vb.net打开sqlite“临时”数据库的确切语法是什么

  17. 17

    使用Swift(2.0)查询Firebase(3.2.0)的确切方法是什么?

  18. 18

    使用javascript和php的“推送”的确切机制是什么?

  19. 19

    这个例子使用delegate()的确切含义是什么?

  20. 20

    JPA @Entity批注的确切含义是什么?

  21. 21

    在Clojure中,相同的确切行为是什么?

  22. 22

    javascript中if(variable)的确切取反是什么?

  23. 23

    Rust中for循环的确切定义是什么?

  24. 24

    -XX + UseCMSCompactAtFullCollection的确切用途是什么?

  25. 25

    通过brew安装yum的确切命令是什么?

  26. 26

    在Pickler中__reduce__的确切用法是什么

  27. 27

    自动实现的属性的确切用途是什么

  28. 28

    String.LegacyMode属性的确切含义是什么?

  29. 29

    OpenJDK JMH“得分错误”的确切含义是什么?

热门标签

归档