Android系统采用分层结构,由高到低分为4层,依次是应用程序层,应用程序框架层,核心内库,Linux内核 在Android运行时库中包含了Dalvik虚拟机。Dalvik虚拟机由Google自己设计用于Android平台的虚拟机,可以简单地完成进程隔离和线程管理,可以提高内存的使用率。每一台Android虚拟机应用程序在底层都会对应一个独立的Dalvik虚拟机实例,代码在虚拟机的解析下得以执行 Java虚拟机运行的是.class文件,Dalvik虚拟机运行的是.dex文件。 Java虚拟机基于栈的架构,栈是一个连续的内存控件,取出和存入的速度比较慢 问:为什么Google不直接使用Java虚拟机,反而自己去开发一个Davlik虚拟机? 注:2014年6月25日,Android L 正式亮相于召开的谷歌I/O大会,Android L 改动幅度较大,谷歌将直接删除Dalvik,代替它的是传闻已久的ART 点击Start a new Android Studio project;之前创建过项目,会出现如下情况 选择Empty Activity(空界面),点击Next 选择SDK版本,建议选择较低版本;填写完成点击Finish 当出现如下图片,是第一次创建项目时,Android Studio正在构建项目文件,电脑配置较低的可能会出现五六分钟分钟或更久等情况。注意左边的 文件层结构 和 底下的进度条 出现如下 文件层结构,即加载成功 点击打开activity_main.xml文件 既然Android Studio是开发手机软件,那么运行就应该也是在手机上,我们使用Android Studio自带虚拟机运行程序,第一次没有虚拟机,创建新的虚拟机 运行程序前可选择要在哪个虚拟机上运行程序;3.2是刚才创建好的虚拟机 1.为什么就创建了一个项目,创建了一个虚拟机,运行后就会出现Hello World? 2.虚拟机运行后电脑太卡怎么办? 注:本人通过所学、所知的Android知识写博客,以达到复习、学习、加深Android的相关知识。文中语气多为向他人讲解语气,但我不作为Android知识的 讲解 或 传播者 写博客,只是为了本人自己学习。文章之中肯定会出现错误,劳烦在空余之时给出指点、建议,谢谢。文章目录
1.Android体系结构
Android运行时库(Android Runtime)主要提供了一些核心库,能够允许开发者使用Java语言编写Android应用程序。另外,Android运行时库还包括了Dalvik虚拟机,它使得每一个Android应用都能运行在独立的进程中,并且拥有一个自己的Dalvik虚拟机实例。相比于Java虚拟机,Dalvik虚拟机是专门为移动设备定制的,它针对手机内存、CPU性能等做了优化处理2.Dalvik虚拟机
2.1 Dalvik简介
Android开发的编程语言可以是java语言,但是Dalvik虚拟机并不是java虚拟机的规范来实现,两者不兼容并且有很多不同之处。
注意:Android系统下的Dalvik虚拟机默认给每一个应用程序最多分配16MB内存,如果Android加载的资源超过这个值,就会报出OutOfMemoryError(内存溢出)异常2.2 Dalvik虚拟机和Java虚拟机区别
Java虚拟机
Dalvik 虚拟机
编译后的文件格式
.java –> .class –> .jar
.java–>.class –> .dex –> .odex
基于架构
基于栈的结构
基于寄存器的架构
①编译后文件不同
Java程序中Java类会被翻译成一个或多个自己吗文件(.class),然后打包成.jar文件,之后Java虚拟机会从.class文件中和.jar文件中获取相应的字节码。
Android程序也可以使用Java语言进行编译,但是在翻译成.class文件后,还是会通过工具将所有的.class文件转换成一个.dex文件,然后Dalvik虚拟机从其中读取指令和数据,最后.odex文件是为了在运行过程中进一步提高性能,对.dex文件的进一步优化,能加快软件的加载速度和开启速度。②基于架构不同
Dalvik虚拟机基于寄存器的架构,寄存器是CPU上的一块缓存,寄存器的取出速度要比从内存中存取的速度快很多,这样可以根据硬件来最大程度优化设备,更适合移动设备的使用
版权问题3.Android Studio创建第一个项目,编写Hello World
3.1创建第一个项目
①Start a new Android Studio project
②Empty Activity
③填写项目信息
④等待加载项目
⑤加载成功
3.2 编写Hello World
①打开布局文件
出现如下界面;
②点击Split
③创建虚拟机
点击AVD Manager
选择创建新的虚拟机
第一次建议选择尺寸较小的,尺寸越大,越战内存,电脑性能差,容易死机;选择好尺寸点击Finish
选择API等级,建议选择较低版本 或 默认版本,使用其它版本版本可以点击Download下载;点击Next
出现如下界面,一般默认即可;点击Finish
④运行程序
当使用手机运行程序 或者 使用PC端手机模拟器时,可以在这里选择
运行前建议点击绿色的小铁锤的按钮,再点击运行;会先构建程序,检测程序中是否有错误
⑤运行结果
回顾顺序:创建完成项目 ===》 选择分割界面(Split) ===》创建虚拟机 ===》运行程序
java中使用System.out.println(“Hello World”);Python中使用print(“Hello Worlld”);怎么Android中只要创建就可以显示Hello World?是不是每次运行都要创建一个虚拟机?
其实每次创建一个项目或者一个Module,就会默认创建好一个布局文件activity_main.xml,在res/layout下,里面会有默认代码,其中就有已经写好的,只要运行就可以显示“Hello World”,并不需要每次创建虚拟机
自带虚拟机不可以,可以使用其他两种方法;
①可以使用自己手机运行代码(电脑性能很差):将手机和电脑使用数据线连接起来,个别手机运行前要设置 开发者模式,当数据线和电脑连接时,运行前可以选择要运行的设备,选择和自己手机对应的设备,点击运行即可。
②电脑安装手机模拟器(电脑性能较差):我使用的是雷电模拟器,手机模拟器众多,个人自行选择,雷电模拟器下载官网地址,每次要运行程序,首先要打开雷电模拟器,在Android Studio中选择雷电模拟器,我给雷电模拟器设置的机型是HuaWei,每次运行选择模拟器就会出现HuaWei名称的模拟器,选中运行即可
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算