Android 菜鸟认知总结——Android初印象之系统架构和app 组件

      1.对Android安装包的认识,Android的安装包是apk文件,里面包含了你代码和资源,它包含了Android应用的所有内容。

2。对Android系统的认识: 什么是Android系统,由哪些部分构成的。我们需要对系统架构有一定的了解,方便以后拓展学习每一部分。以我个人为例子,我们经常所谓的应用(用户可见的)是Application层,这是最上面一层,我们开发人员主要的任务就是开发出来一个app。那我们开发的应用是如何被管理的呢,这里就需要认识一下app Framework (应用框架)  。首先了解几个概念:

(1) JNI 

JNI 是什么 ,这里只做简单的指引,Android是Java编写的,那Java是如何调用本地语言的呢(c 或者c++语言),对就是通过JNI JNI是 Java和 c之间的纽带或者说是接口。

以下两个链接是对JNI一个比较好的诠释,有兴趣的同学可以看一下

http://blog.csdn.net/yuanzeyao/article/details/42418977 

http://blog.csdn.net/eastmoon502136/article/details/50759209

(2)Android ndk 

ndk 和 sdk 傻傻分不清楚 

简单来说,sdk 是用Java开发的,ndk是用c开发的。NDK即Native Development Kit,众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。

这里是对 SDK 和 NDK 一个不错的诠释的文章

http://blog.csdn.net/LoongEmbedded/article/details/39718577

http://blog.csdn.net/openme_openwrt/article/details/8042035


回归一下 那什么是 app framework 初级阶段我们大量的学习就是在这个层次上的学习:view(用于显示视图),content provide内容提供器,资源管理器,通知管理器,活动管理器等等。 这里涉及到有些知识点是:  这个层级如何使用 JNI 有兴趣的同学可以去了解一下,很多源码有用到。

接下来的层级是standard libraries 和 Android runtime  统称为系统运行库。这是什么东西呢?Android包含了很多 C编写的库,这些库提供了对一些多媒体文件,2d 3d等等的支持。

接下来是Dalivik 和 ART,它提供了Android运行环境虚拟机。

3. 上面是对Android系统的架构有了简单的认识,接下来是对 app组件的认识,就是我们常说的Android4大组件,巴拉巴拉。

这里对这几个组件进行简单的介绍 。 1。activity提供屏幕2. Service 用于后台实现耗时操作3.content provide 共享数据 4.broadcast  经常用于提醒,只能处理极少工作量。

4.四大组件靠 intent互相连接,启动。intent是他们之间信息交互的纽带

5.mainfest,用于声明所有组件,声明所有软硬件权限,用于确定使用API,用于确认应用要求

6.资源文件:所用到的布局,字体,图片,文字等等。





你可能感兴趣的:(Android,基础,Android,基础,系统架构)