android基本概念

1.android的系统架构

    linux内核:负责各种硬件的驱动,例如显示、蓝牙、相机、音频、usb等。

    本机库:位于linux内核层上面一层,用C或C++编写,重要的包括界面管理、图形、媒体解码器、SQL数据库、浏览器引擎。

    android运行时:dalvik虚拟机和java核心库,是针对手机优化的一个java虚拟机的实现。

    应用程序框架:位于本机库和android运行时上面,提供了创建应用所需的各种高级构建块。包括活动管理器、内容提供者、资源管理器、位置管理器、通知管理器。

    应用程序:位于最高层,是用户可以直接看到的一层。

2.程序的生命周期

    android中有一个前台应用程序,就是用户开机时看到的第一个应用程序,它通常显示时间、背景图片和滚动列表。用户通过应用滚动列表可以运行其它应用程序,此时android会启动该程序并将其置于前台,同一个程序也可以打开多个窗口,但同一时刻只有一个窗口可被用户操作。所有这些程序和窗口都被系统的活动管理器记录在应用程序栈中,这个栈由上述的活动管理器管理。用户可以随时按back按钮返回到栈中的上一个窗口。工作方式类似web浏览器中的历史功能,与windows的窗口工作方式不同。

     

    每个用户界面窗口都是通过activity类表示的,而每个活动都有自己的生命周期。而一个应用程序包括一个或多个activity以及包含这些活动的linux进程。但是activity的生命周期和进程的生命周期没有关系。进程只是各种activity可以随意使用的一个容器。每个activity可以有以上多种状态,开发人员不能控制程序处于哪种状态,这由系统管理。但是系统会通过类似onXXX()的方法调用通知开发人员,开发人员只需要在收到通知后进行相应的处理即可。在某些情况下,onPause()方法可能是activity中调用的最后一个方法,所以应该在该方法中保持下次要继续使用的任何数据。

3.构建块

    activity:一个活动就是一个用户界面屏幕。应用程序可以有多个活动,作为应用程序生命周期的一部分,每个activity都要保存自己的状态,以便后续还原这些状态。

   intent:意图是一种描述具体动作的机制,例如“拍照”、“打电话”等。几乎所有的用户操作都会经过意图这个阶段,其结果是使用对应的activity来处理该意图。

    服务:服务是在后台运行的任务,无需用户直接与其交互,例如音乐播放器。所以执行音乐播放的代码应该在某个服务中。之后,另一个活动可能会绑定到该服务上,告诉该服务切换音轨或者停止播放。android内置了很多服务,以及很多可轻松访问这些服务的API。

    内容提供者:是封装在自定义API中的一组数据,可以读取该数据和向API中写入数据。这是应用程序之间共享全局数据的最佳方式。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值