先从Android的应用开发开始,等到对应用掌握的比较熟悉了,开始慢慢阅读一些Android 应用框架层的源代码,然后再渐渐往下去了解Android的JNI、Libraries、Dalvik虚拟机、HAL层、硬件驱动、Linux内核、ARM技术体系架构等,虽然近期Intel宣称要让Intel芯片支持...
分类:
移动开发 时间:
2015-03-14 10:55:59
阅读次数:
143
1.android框架图 SGL:面向嵌入式设备终端的2D图形引擎 Webkit:提供浏览器引擎 FreeType:位图和矢量字体的绘制。 Dalvik虚拟机:与java虚拟机不同,经过优化后,它可以将class文件经过”dx”工具转换成.dex文件格式, dex文件格式更紧凑,执行效率更高。每个....
分类:
移动开发 时间:
2015-03-12 00:40:01
阅读次数:
248
1.andro系统架构:Linux内核层(提供驱动),系统运行库层和android运行时库(提供C/C++库的主要特性,如SQLite,OpenGL,Webkit等和Dalvik虚拟机),应用框架层,应用层。2.android四大组件:活动(Activity界面能看到的一切)、服务(Service后...
分类:
移动开发 时间:
2015-03-10 18:46:38
阅读次数:
140
1、安卓系统分为四层,分别是Linux内核层、Libraries层、FrameWork层,以及Applications层;其中Linux内核层包含了Linux内核和各种驱动;Libraries层包含各种类库(动态库(也叫共享库)、android运行时库、Dalvik虚拟机),编程语言主要为C或C++...
分类:
移动开发 时间:
2015-03-10 01:20:26
阅读次数:
245
错误类型:04-28 06:10:15.508: E/AndroidRuntime(849): Caused by: java.lang.ClassNotFoundException: com.example.aaa.MainActivity
04-28 06:10:15.508: E/AndroidRuntime(849): at dalvik.system.BaseDexClassLoader...
分类:
移动开发 时间:
2015-03-07 22:50:44
阅读次数:
173
众所周知,Android系统中存在着两个完全不同的世界:
1. Java世界,Google所提供的SDK就主要是针对这个世界的,在这个世界中运行的程序都是基于Dalvik虚拟机的Java程序。
2. native世界,也就是利用C或C++语言开发的程序。那么问题来了,Android系统具体是如何将这两个世界联系起来的,这就是关系到本篇博文所讲的Zygote进程。...
分类:
移动开发 时间:
2015-03-06 19:14:47
阅读次数:
279
Android是Google公司于2007年发布的基于Linux内核的手机操作系统。应用层主要以java为编程语言,应用层分为两层,函数层(Library) 和虚拟机(Virtual)。中间层多以Java实现,采用自主开发的Dalvik虚拟机(基于寄存器的Java虚拟机,传统的为基于堆栈),输入Ja...
分类:
移动开发 时间:
2015-03-06 18:52:33
阅读次数:
184
现在也不到有多少游戏是 Unity3D 写的
操作倒是很省事,在Unity中写了程序,直接生成了 Android的 APK
但内部其实还是听复杂的,对于用 C#生成的脚本需要用 mono 来解释执行
而Android应用本来就是运行在Dalvik Java 虚拟机, 就是经过了两层 runtime 才运行
不过我们更”变态“,我们想在qemu-arm ( 主机是x86) 中运行带...
分类:
编程语言 时间:
2015-03-06 15:57:30
阅读次数:
215
1.Dalvik和标准Java虚拟机之间的主要差别?
Dalvik和标准Java虚拟机(JVM)之间的首要差别之一,就是Dalvik基于寄存器,而JVM基于栈。
Dalvik和Java之间的另外一大区别就是运行环境——Dalvik经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个 Dalvik应用作为一个独立的Linux进程执行。
(1)虚拟机很小,使用的空间也小;
(2)D...
分类:
移动开发 时间:
2015-03-06 10:03:09
阅读次数:
245
深有感触啦,我面试的时候所接触的笔试题。
Android面试题目及其答案
1、Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念
DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux中的一个进程,所以说可以认...
分类:
移动开发 时间:
2015-03-04 19:13:19
阅读次数:
221