android开发底层理论之一

一、android开发方式:原生代码(1和2)和webHtml(第3点)
1、java 开发,需要ADT环境由JVM来解释(应用级的开发)
2、C、C++开发,需要本地开发工具集(NDK)和Cygwin开发环境(产品

的开发)
3、HTML JS CSS webView使用了WebKit内核(引擎),需要后期打包
原生代码开发和硬件结合,速度快,响应快
web Html 成本低,响应速度很慢。浏览器可以感知位置的变化;此种

方式使用数据展示,服务器交互


二、Linux内核(单进程处理)
android应用开发要分为两个层次:应用开发(APP)、android应用层之

下的基于android内核的应用开发
为什么会出现消息机制,aidl,子线程与主线程之间不能直接交互。
一个android应用程序就是Linux下的一个进程
android是嵌入式的系统,都需要和硬件进行交互;在内核中都是与硬

件交互的驱动内核。

函数库
java很难调用核心库中有很多C、C++的核心库;于是在应用程序和核

心库中增加了APP框架。要想执行APP,必须先加载函数库,由DVM来加


三、DVM和JVM有什么不同
基于寄存器、基于内存
打包的过程,打包class文件,打包res文件,再把二者打包在一起
class字节码和dex的字节码不一样。android可以有多个DVM,一个DVM

死掉了,不会影响其他应用程序。而java只有一个JVM。


四、ADT概念?有什么作用

IDE(Eclipse)可以帮助我们写代码,不能打包,这就需要ADT。

五、ADB
几个基本命令:  1:android.bat;
  2:emulator;
  3:adb
  4:adb shell
  

虚拟机的作用,把字节码转换成指令集
微处理的指令集:arm、mips
android CPU的指令集:arm
PC CPU的指令集: 8085 散发出大量热量的原因

六、system.img 镜像文件
每一次刷机都是一次稍入的过程,稍入system.img到内存

七、adb的架构

八、四大组件
1、同一个view添加两个事件监听时,仍然会执行各自的事件。不同

view拥有同一个事件监听时,可以单独写成一个类,实现事件监听接

口;把多个view传递过来,进行事件注册和监听。
2、为什么android需要引入xml,这样设计有什么优势?
首先,android引入xml,是一个非常优秀的设计。
其次,xml主要负责UI界面设计,而java代码实现业务处理;降低了耦

合性,修改其一不会影响到其他模块的修改。
3、android为什么要设计四大组件?
activity:它是应用程序的界面,是一张脸;当然很重要。界面设计

的优劣直接关系到用户的使用数量。
service:它和activity功能类似,但是没有界面。它是在手机后台运

行的服务程序。当你播放音乐时,突然想去浏览网页。这时你有不想

停止播放音乐。那么,service就可以做到这一点;为什么不用

activity?activity关闭后他的生命周期也就结束了,不能播放音乐

。当然,service不止这一点作用。
broadcast resolver:这是一个全局的系统监听器。电话或是短信来

了,他会发出通知,打开相应的程序。
contentProvider:当你需要发短信时,要查找电话号码。这就是不同

应用程序之间的数据交互。很重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值