Android应用程序详解

应用程序的基本结构模块

 

Activity应用程序的表示层。应用程序中的每一个UI都是通过Activity类的一个或多个扩展实现的。Activity使用Fragment和视图来布局和显示信息,以及响应用户动作。Activity相当于桌面开发环境中Form

 

Service应用程序中不可见的工作者。Service组件在运行时没有UI,可以更新数据和Activity、触发通知和广播Intent。用来执行一些运行时间长的任务或者不用和用户交互的任务。

 

Content Provider一个可共享的持久数据存储器。用来管理和持久化应用程序数据,通常会与SQL数据库交互。

是应用程序之间共享数据的首选方法。

 

Intent一个强大的应用程序间的消息传递框架。Intent一个用来停止和启动ActivityService,在系统范围内或向目标ActivityServiceBroadcast Receiver广播消息,以及请求对特定的一条数据执行操作。

 

Broadcast ReceiverIntent监听器。使应用程序可以监听到那些匹配指定过滤标准的Intent广播。会自动地启动应用程序来响应某个收到的Intent,是事件驱动应用程序的最佳选择。

 

Widget添加到设备主屏幕的可视化应用程序组件。是Broadcast Receiver的特殊变体。可用于创建动态的交互式应用程序组件。

 

Notification允许向用户发送信号,但却不会过分的吸引他们的注意力或者打断他们当前的Activity。它们是应用程序不可见或者不活动时(特别是ServiceBroadcast Receiver)吸引用户注意的首选方法。

 

应用程序的生命周期

 

Android应用程序不能控制自己的生命周期。默认情况下,每个Android应用程序都是通过自己的进程运行的,每个进程都运行在独立的Dalvik实例中。每个应用程序的内存和进程管理都是由运行时专门进行处理的。

 

 

Active进程:正在和用户进行交互的应用程序进程

一般包括:处于活动状态的Activity

正在执行onReceive事件处理程序的Broadcast Receiver

正在执行onStartonCreateonDestory事件处理程序的Service

正在运行且已被标记为前台运行的Service

可见进程:即可见但并非活动的进程,指那些驻留“可见Activity”的进程。可见的Activity能被用

户看见,但它们并不在前台运行或者能对用户事件做出反应。

启动Service进程:已经启动的Service的进程。后台Service由于没有直接和用户交互,它们的优先

级要比可见Activity或前台Service低一些,但它们仍被认为是前台进程。

后台进程:不可见、并且没有任何在运行的ServiceActivity进程。

空进程:为了提高系统整体性能,Android经常在应用程序的生存期结束后仍把它们保存在内存中,

Android通过维护这个缓存来减少应用程序被再次启动时的启动时间。

 

Android Application

 

每次应用程序运行时,应用程序的Application类都保持实例化状态。与Activity不同,配置改变并不会导致应用程序重启。通过扩展Application类可以完成以下三项工作:

对Android运行时广播的应用程序级时间(如低内存)做出响应;

在应用程序组件之间传递对象;

管理和维护多个应用程序组件使用的资源。

Application的实现在本质上是单态的,当在Manifest中注册了Application后,它会在创建应用程序进程的时候

被实例化。

 

应用程序的生命周期事件:

public void onCreate()  在创建应用程序时调用,可以重写该方法来实例化应用程序单态,以及创建和实例化任何应用程序状态变量或共享资源。

public void onLowMemory() 当系统处于资源匮乏状态时,具有良好行为的应用程序可以释放额外的内存。该方法一般只会在后台进程已经终止,但前台应用程序仍然缺少内存时调用。可以重写该方法来清空缓存或者释放不必要的资源。

public void onTrimMemory(intlevel) 当运行时决定当前应用程序应该尝试减少其内存开销时(通常在它进入后台时)调用(作为onLowMemory的一个特定于应用程序的替代选择,在Android 4.0中引入)。它包含一个level参数,用于提供请求的上下文。

public void onConfigurationChanged(Configuration newConfig) 与Activity不同,在配置改变时,应用程序对象不会被终止和重启。如果应用程序使用的值依赖于特定的配置,则可重写该方法来重新加载这些值,或者用于处理应用程序级别的配置改变。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值