- 博客(5)
- 资源 (4)
- 收藏
- 关注
原创 Dalvik虚拟机的进程和线程管理
一般来说,虚拟机的进程和线程都是和目标机器本地操作系统的进程和线程一一对应的,这样的好处是可以使本地操作系统来调度进程和线程。 Dalvik虚拟机运行在Linux操作系统之上。Linux操作系统并没有纯粹的线程概念,只要两个进程共享一个地址空间,那么就可以认为它们是同一个进程的两个线程。Linux系统提供了两个fork和clone调用,其中,前者是用来创建进程
2013-07-23 08:22:41 3200
原创 Dalvik虚拟机的本地调用(JNI)
虚拟机都是运行在目标机器之上的,它需要将自己的指令翻译成为目标机器指令来执行,并且有些功能,需要通过调用目标机器运行的操作系统接口来完成。这就需要一个机制,使得函数调用可以从Java层穿越到Native层,也就是C/C++层。 这种机制就称为Java本地调用,即JNI。 当然,在Native代码中,有时候也需要调用到Java函数,同样也是可以通过JNI机制来实现。 实际上,D
2013-07-22 08:37:33 2782
原创 Dalvik虚拟机的垃圾收集机制
垃圾收集机制是Java虚拟机共有的特性, 这里介绍Dalvik虚拟机的垃圾收集机制特点。 在android2.3之前,有以下几个特点: 1. 垃圾收集线程在执行的时候,其它线程都停止。 2. 一次收集完全部的垃圾 3. 一次垃圾收集通常造成用户程序中断100ms以上
2013-07-21 23:47:49 2821
原创 Dalvik虚拟机的内存管理
Dalvik虚拟机的内存分为三种类型: Java Object Heap, Bitmap Memory, Native Heap. 下面,就这三种类型进行详细讲解: 一. Java Object Heap: Java Object Heap是用来分配Java对象的,代码中new出来的Java对象都在Java Object Heap中。 J
2013-07-21 15:39:10 5196
原创 Dalvik虚拟机的优化机制
Dalvik虚拟机设计作为Android系统定制虚拟机, 在移动设备上运行,必须要比普通的Java虚拟机有更多的优化手段和机制, 以下就列举出其中主要的一些优化机制: 1. 使用dex格式的类文件,可以讲多个类存储在一个dex文件中,多个类中的重复字符串和常数等只保留一次,节约了空间。 2. 基于寄存器的指令集, 提前优化后,执行速度更快。
2013-07-20 15:31:43 3494
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人