自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 Dalvik VM Hash - implementation

Dalvik虚拟机 之 哈希表实现篇前面两篇分别介绍了dvm里哈希表的接口和使用。下面我们来看看dvm里哈希表是怎么实现的。 数据结构/** One entry in the hash table. "data" values are expected to be (or have* the same characteristics as) valid pointers.

2012-03-30 00:27:28 2850 1

原创 Dalvik VM Hash - how to use

Dalvik 虚拟机 之 哈希表使用篇前面介绍了dvm里德哈希表提供的方法。下面就以InternedString实现为例介绍一下哈希表的使用。我们将看到dvm里哈希表的设计非常直观,其使用更是简单明了。 Interned String是指java虚拟机将某些字符串“内部化”,和不同字符串的最大区别就是在虚拟机内部永远只会存在改字符串的唯一实例。多次分配改string都将返回该字符串唯一

2012-03-30 00:26:03 3095

原创 Dalvik vm Hash interface

Dalvik VM 哈希表 之 接口篇 几乎在所有的高级语言中都有哈希表(hashmap)的支持。它已经成为很多语言内建的数据类型。但是C语言创建较早,没有内建的哈希表类型的支持。我们只能通过库的实现来支持。如果仅仅想使用哈希表又不想引入整个库,我们可以简单的实现哈希表。Dalvik就是这么做的。dalvik哈希表的代码在 dalvik/vm/hash.c  dalvik/vm/has

2012-03-30 00:24:38 2843

原创 android API使用追踪

使用场景有时候,我们知道某个具体的Java API被使用到。我们想知道该API是在哪里被使用到的。直观的方法,就是搜索源代码,找到所有使用的地方,做标记(比如打log)。然后在输出log中查看标记就知道改API在什么地方调用到了。 该方法的缺点是显而易见的:1. 如果调用该方法的地方很多,需要修改很多处2. 如果再想看调用该方法的方法是在哪里被使用的,需要更多的修改。简直是

2012-03-24 21:52:32 3574

原创 Android 源代码在线查看

google开放了android的源码,我们可以在如下网站下载到:http://source.android.com/source/downloading.html但是有时候我们只是想查看一下某个部分是怎么实现,不想去下载整个repo甚至是整个workspace。 android在线源码给我们提供了一个不错的选择。在google里搜索 “android source code on

2012-03-24 21:25:38 19111 1

原创 Dalvik vm make file config and source tree

Dalvik 虚拟机编译脚本 和 源代码树本文简单的分析Dalvik虚拟机源码(dalvik/vm)的结构以及编译脚本(*.mk)编译脚本Dalvik源码目录结构并不复杂。其编译脚本也很简单。主要有以下几个文件组成:dalvik/vm/Android.mk dalvik/vm/ReconfigureDvm.mkdalvik/vm/Dvm.mk和and

2012-03-24 21:01:25 4717

原创 android system services startup process

android 系统服务启动流程 速记init =>Zygote service =>main() @ frameworks/base/cmds/app_process/app_main.cpp  =>startSystemServer() @ ZygoteInit.java =>init1() @ SystemServer.java =>JNI =>a

2012-03-19 13:02:49 3810

原创 Dalvik VM start up process

Dalvik VM的启动过程解析Dalvik 虚拟机的启动要从android另一个著名的模块,Zygote,说起。 我们知道android系统中,每一个java应用被设计成可以运行在一个单独的Linux进程中。而每个该进程都包含一个运行中的dalvik虚拟机实例,用来执行该应用中的java字节码。很多java基础类(比如,java.lang.*)和一些系统级的共享性资源

2012-03-19 00:29:12 7335 1

原创 Dalvik Virtual Machine references

Dalvik 虚拟机参考资料 这里记录dalvik vm 主要的参考资料,本文档会不断更新。 Dalvik VM 源代码Android是开放的系统,尽管不是开源系统。我们能够看到所有的源代码,尽管我们比起oem厂商拿到代码要晚一些,我们还是能够得到近乎所有的实现,并且是没有刻意处理过的(想想几年前花钱买了某个知名java虚拟机厂商的虚拟机实现,在加大了价钱并且签署一系列保密协议

2012-03-19 00:22:22 4894

Apress - Beginning Android

最好的android入门图书,非常适合初学者

2009-08-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除