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应用程序进程启动过程的源代码分析
  2. Android之进程与线程
  3. 关于Android的组件和进程的理解
  4. Android跨进程通信IPC
  5. 【译】Google官方推出的Android架构组件系列文章(五)ViewModel

随机推荐

  1. 创建android SDK开发环境
  2. Android(安卓)Animations动画使用详解
  3. [置顶] android:autoLink
  4. android平台开发下 密钥管理
  5. android 网络状态
  6. 暂时只会这种导航,实时显示自己的位置,,求其
  7. Android启动activity的几种方式
  8. android真机调试出现offline解决方法
  9. [Android]编译错误:Could not get unknow
  10. 手机蓝牙和蓝牙模块进行通信