Android系统相关
NewJerryj
这个作者很懒,什么都没留下…
展开
-
获取Android各类系统相关信息的接口实现代码
/** * 获取系统中所有安装包信息 */ public String getAllPackages(Context context) { String appList = ""; List packages = context.getPackageManager().getInstalledPackages(0); for (PackageInfo packageI原创 2013-04-25 23:58:40 · 5190 阅读 · 0 评论 -
Android定制JVM—Dalvik虚拟机简介
Dalvik虚拟机是Google等厂商合作开发的Android系统专一的虚拟机,它是Android系统的核心组成部分之一。 Dalvik虚拟机支持已转换为.dex格式的java应用程序的运行。 .dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。 Dalvik 经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik 应用作为一个独立的原创 2013-03-16 17:17:42 · 6226 阅读 · 0 评论 -
Dalvik虚拟机的优化机制
Dalvik虚拟机设计作为Android系统定制虚拟机, 在移动设备上运行,必须要比普通的Java虚拟机有更多的优化手段和机制, 以下就列举出其中主要的一些优化机制: 1. 使用dex格式的类文件,可以讲多个类存储在一个dex文件中,多个类中的重复字符串和常数等只保留一次,节约了空间。 2. 基于寄存器的指令集, 提前优化后,执行速度更快。原创 2013-07-20 15:31:43 · 3494 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Dalvik虚拟机的本地调用(JNI)
虚拟机都是运行在目标机器之上的,它需要将自己的指令翻译成为目标机器指令来执行,并且有些功能,需要通过调用目标机器运行的操作系统接口来完成。这就需要一个机制,使得函数调用可以从Java层穿越到Native层,也就是C/C++层。 这种机制就称为Java本地调用,即JNI。 当然,在Native代码中,有时候也需要调用到Java函数,同样也是可以通过JNI机制来实现。 实际上,D原创 2013-07-22 08:37:33 · 2782 阅读 · 0 评论 -
Dalvik虚拟机的垃圾收集机制
垃圾收集机制是Java虚拟机共有的特性, 这里介绍Dalvik虚拟机的垃圾收集机制特点。 在android2.3之前,有以下几个特点: 1. 垃圾收集线程在执行的时候,其它线程都停止。 2. 一次收集完全部的垃圾 3. 一次垃圾收集通常造成用户程序中断100ms以上原创 2013-07-21 23:47:49 · 2821 阅读 · 0 评论 -
Dalvik虚拟机的进程和线程管理
一般来说,虚拟机的进程和线程都是和目标机器本地操作系统的进程和线程一一对应的,这样的好处是可以使本地操作系统来调度进程和线程。 Dalvik虚拟机运行在Linux操作系统之上。Linux操作系统并没有纯粹的线程概念,只要两个进程共享一个地址空间,那么就可以认为它们是同一个进程的两个线程。Linux系统提供了两个fork和clone调用,其中,前者是用来创建进程原创 2013-07-23 08:22:41 · 3200 阅读 · 0 评论