android学习之路1
来源:互联网 发布:mac os 修改开机密码 编辑:程序博客网 时间:2024/05/17 23:50
Android系统是建立在Linux系统之上的,该平台由 操作系统,中间件,用户界面和软件4层组成。
Android体系结构
底层Linux操作系统
library c/c++的函数库
应用程序框架层 java提供的函数库
应用程序
四. Linux内核
一些底层的驱动
jvm和dvm的区别
<版权问题
<效率问题 dvm将各个class文件还有头文件常量池中相同数据合成放在dex文件中
2 Android的四大组件
Activity Service BroadcastReciever ContentProvider
2.1 Activity 是负责和用户交互的组件, 通过SetcontentView来显示指定组件
2.2 Service 通常在后台运行,一般不需要与用户交互,无图形界面。 值得注意的是servcie与thread的区别:servcie是运行在主线程中的,一般不执行耗时操作,会报ANR 异常。thread 新建后 在里面执行耗时操作
Service中再创建一个子线程,然后在这里去处理耗时逻辑就没问题了。
额,既然在Service里也要创建一个子线程,那为什么不直接在Activity里创建呢?这是因为Activity很难对Thread进行控制,当Activity被销毁之后就没有<span sty 任何其它的办法可以再重新获取到之前创建的子线程的实例。而且在一个Activity中创建的子线程,另一个Activity无法对其进行操作。但是Service就不同了,
所有的Activity都可以与Service进行关联,然后可以很方便地操作其中的方法,即使Activity被销毁了,之后只要重新与Service建立关联,就又能够获取到原有的Service中Binder的实例
2.3 BroadcastReciever 两种注册方式 1:Context.registReceiver()注册 2:配置文件中注册
Android体系结构
底层Linux操作系统
library c/c++的函数库
应用程序框架层 java提供的函数库
应用程序
一 .应用程序层 该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。 该层是Android应用开发的基础,开发人员大部分情况是在和她打交道。
二.应用程序框架层 包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。在Android平台上,开发人员可以完全访问核心应用程序所使用的API框架。并且,任何一个应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块。基于这样的重用机制,用户就可以方便地替换平台本身的各种应用程序组件。
三 .系统库和Android运行时 系统函数库包括九个子系统统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,比如android.os、android.net、android.media等等。后者是一种基于寄存器的虚拟机,虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。四. Linux内核
一些底层的驱动
jvm和dvm的区别
<版权问题
<效率问题 dvm将各个class文件还有头文件常量池中相同数据合成放在dex文件中
2 Android的四大组件
Activity Service BroadcastReciever ContentProvider
2.1 Activity 是负责和用户交互的组件, 通过SetcontentView来显示指定组件
2.2 Service 通常在后台运行,一般不需要与用户交互,无图形界面。 值得注意的是servcie与thread的区别:servcie是运行在主线程中的,一般不执行耗时操作,会报ANR 异常。thread 新建后 在里面执行耗时操作
Service中再创建一个子线程,然后在这里去处理耗时逻辑就没问题了。
额,既然在Service里也要创建一个子线程,那为什么不直接在Activity里创建呢?这是因为Activity很难对Thread进行控制,当Activity被销毁之后就没有<span sty 任何其它的办法可以再重新获取到之前创建的子线程的实例。而且在一个Activity中创建的子线程,另一个Activity无法对其进行操作。但是Service就不同了,
所有的Activity都可以与Service进行关联,然后可以很方便地操作其中的方法,即使Activity被销毁了,之后只要重新与Service建立关联,就又能够获取到原有的Service中Binder的实例
2.3 BroadcastReciever 两种注册方式 1:Context.registReceiver()注册 2:配置文件中注册
0 0
- android学习之路1
- Android学习之路1
- Android-学习之路-1
- android 学习之路
- Android学习之路
- Android学习之路
- android学习之路
- Android学习之路
- Android学习之路
- android学习之路
- Android学习之路???
- Android学习之路
- android学习之路!
- Android学习之路
- Android学习之路
- Android学习之路
- Android学习之路
- Android学习之路
- java中list和set的区别与联系
- 15.bash编程变量
- 推送之个推
- 仿多看滑动翻页
- LeetCode Different Ways to Add Parentheses
- android学习之路1
- 基于IoT平台-开发快的智能温室监控设备设计
- myeclipse2014版安装freemarker IDE
- PHP 转义字符
- php开启websocket端口程序开启模式
- Jzzhu and Children
- 10、叠加管理
- code[VS]1205
- DNS污染和劫持