二、

作者: 最美下雨天 | 来源:发表于2018-07-26 09:16 被阅读13次
1、GC机制

首先我觉得需要先说下虚拟机中的5个内存区域:方法区、堆、虚拟机栈、本地方法栈、程序计数器
在上面介绍的五个内存区域中,有3个是不需要进行垃圾回收的:本地方法栈、程序计数器、虚拟机栈。因为他们的生命周期是和线程同步的,随着线程的销毁,他们占用的内存会自动释放。所以,只有方法区和堆区需要进行垃圾回收,回收的对象就是那些不存在任何引用的对象。
而且方法区的垃圾回收效果很不理想,所以我们关注的垃圾回收的内存区域主要是堆。
判断一个对象是否可以被回收一般采用的算法是“可达性分析算法”,当一个对象到GC Roots没有任何引用链相连,这个对象就是可以被回收的,在java中可以作为GC Roots的对象有:

  • 虚拟机栈(栈帧中的本地变量表)中引用的对象
  • 方法区中类静态属性引用的变量
  • 方法区中常量引用的对象
  • 本地方法栈中JNI引用的对象
    堆内存区域又分为新生代、老年代,新生代又分为一个一个Eden区,两个Survivor区,一般这两个区域大小比例是8:1(为什么是两个Survivor,主要是解决碎片化问题,https://blog.csdn.net/antony9118/article/details/51425581),每次使用Eden区和一块Survivor区,当回收时,将Eden和Survivor中还存活的对象一次性的复制到另一块Survivor空间上,最后清理掉Eden和刚才用过的Survivor,同时替换两个Survivor标记,如果另一块Survivor空间没有足够空间存放上一次新生代收集下来的存活对象时,这些对象将直接通过分配担保机制进入老年代。新生代采用的是“复制算法”收集内存,老年代采用的是“标记-整理“算法。
2、Activity的onNewIntent

经验证,这幅图完全正确
来源:http://baurine.github.io/2015/12/26/android_onnewintent.html

image.png

假设有两个Activity A和B,怎么验证A执行了onPause但是没有执行onStop,并且A还处于栈顶呢?很简单,设置B的启动模式为singleInstance

3、JVM、Dalvik、ART

Dalvik是基于寄存器的,而JVM是基于栈的。
Dalvik运行dex文件,而JVM运行java字节码
在Dalvik下,应用每次运行的时候,字节码都需要通过即时编译器(just in time ,JIT)转换为机器码,这会拖慢应用的运行效率,而在ART 环境中,应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用。这个过程叫做预编译(AOT,Ahead-Of-Time)。这样的话,应用的启动(首次)和执行都会变得更加快速。

4、事件

相关文章

  • 二(二)

    发什么神经 突然就很想花钱 一边心疼 一边毫不在乎的花 啧 莫名其妙

  • 二,二

    2017.9.11教师节后的周一,第一次走进教室,刚站到讲台两个小可爱送给我两束花,原谅我那时候人还没有认全没有记...

  • 二〇二〇

    本来这篇小结打算年初写的,但是想想后边还有复试就先放一放,结果复试结束后过了两个月才想起要写这篇小结... 时过境...

  • 二金二木二火二土

    今天看完了极简中国史,这本书看了半个多月,因为是八十年前写的书,不是白话文,所以看的特别累。不过从近代前辈的角度去...

  • 说二『似二非二的二』

    说实话原以为他最多似二,生活小节或许专门学着似二,中枢神经应该不至于非二,没想到最近越来越疯狂地绞尽脑汁地朝着二的...

  • 二胎(二)

    今天宝宝三十周了,还有十周你就要出来了,也许会提前,妈妈和家人都很期待。 到了孕晚期,睡觉是个问题,左睡右睡都不对...

  • 二小姐(二)

    我去了李家,那环境好,夫人老爷小姐都很和蔼,我正坐在由木头和瓷做的椅子上,正等待着女管家来接我,我人生地不熟...

  • 二、递归(二)

    一、棋盘分割问题 【每次切完一个棋盘,就是需要舍弃掉一面,只能在一面操作】

  • 二选二

    既然已经分手了,那就应该正视我们的故事。待成熟睿智的甘露填补满年少轻狂的洼壑,你再回过头来,促膝把酒花前月下也能...

  • 二宝(二)

    静如处子 动如脱兔 要说静如处子还比较符合大家对痴呆症的预期,动如脱兔这四个字,以前我也不会与阿兹海默联系到一起的...

网友评论

      本文标题:二、

      本文链接:https://www.haomeiwen.com/subject/minumftx.html