Android 应用程序开发基础
1. 每一个应用程序运行在一个独立的进程,每一个进程运行在一个独立的VM中.
2. 每一个应用程序有一个Linux UID,用于权限管理.
3. 两个应用可以有相同的UID,相同UID的应用可以运行在同一VM中.

应用程序组件:
Android应用程序的特色之一:组件重用.
Android根据需要自动启动相应的组件处理请求.

四种类型组件:

1.Activities
代表用户界面.包括视图树.视图包括布局和子视图.

2.Services
代表后台服务,没有用户界面,在独立的线程中运行,不阻塞用户界面.

3.Broadcast receivers
广播:分为系统广播和程序广播.根据需要接收指定的广播并处理.

4.Content providers
内容提供商:存储数据,通过内容解析器(ContentResolver)在各种数据提供商中读写数据.

组件有自己的生命周期:
激活 - 运行 - 关闭

激活组件: intents
内容提供商根据内容解析器请求激活.而Activities, Services, Broadcast receivers则通过Intents对象激活.

运行Activities:
Context.startActivity()
Activity.startActivityForResult()

获取Intent:
getIntent()

响应Activity启动结果:
onActivityResult()

----
运行服务Services:
Context.startService()
响应启动服务:
onStart()
绑定服务:
Context.bindService()
响应绑定服务:
onBind()

----
发送广播:
Context.sendBroadcast()
Context.sendOrderedBroadcast()
Context.sendStickyBroadcast()
接收广播:
onReceive()

关闭组件:
组件也有可能被系统关闭,当组件异常或内存不足,电池快没电等.
广播接收器和内容提供商不需要程序员来关闭.
关闭Activity:
finish()
finishActivity()

关闭服务:
stopSelf()
Context.stopService()

manifest 文件:
AndroidManifest.xml
用于声明组件,命令库,权限认证.声明式注册广播接收器类.

Intent filters:
声明可用的组件处理Intents.


Tasks
任务:任务是指一个用户体验.包括一组Activities.类似一个完整应用,不过这个应用是由不同的Activity组成.

Affinities and new tasks
Launch modes
Clearing the stack
Starting tasks



进程和线程
Activity配置进程.Application配置默认进程.
线程安全


Remote procedure calls
轻量级的远程方法调用

组件生命周期
Activity:
void onCreate(Bundle savedInstanceState)
void onStart()
void onRestart()
void onResume()
void onPause()
void onStop()
void onDestroy()

服务:
void onCreate()
void onStart(Intent intent)
void onDestroy()

进程:
前台进程
可视进程
服务进程
后台进程
空进程

更多相关文章

  1. Android应用程序注册广播接收器(registerReceiver)的过程分析
  2. android framework 启动流程
  3. Android(安卓)-- Android(安卓)Init进程的处理流程分析
  4. Android应用程序进程启动过程的源代码分析(1)
  5. 【android内核分析-启动】Android(安卓)启动过程详解
  6. android process and thread
  7. Android(安卓)AIDL 跨进程服务 Proxy/Stub
  8. 常用组件:android的图片组件ImageView
  9. Android应用程序注册广播接收器(registerReceiver)的过程分析

随机推荐

  1. ADB 使用详细教程——Awesome Adb
  2. Android P 以及之后版本不支持同时从多个
  3. Android(安卓)定位实现(1)
  4. ViewPager实现QQ主界面,ViewFlipper实现某
  5. Android之——杀死用户选中的进程优化
  6. android 开发之旅, should use @string r
  7. Binder 简介
  8. 调用Android自带的联系人选择界面
  9. Xamrin开发安卓笔记(一)
  10. 我想邀请你和我一起学Android