1.Anatomy of an Android application
There are four building blocks to an Android application:
- Activity
- Intent Receiver
- Service
- Content Provider
https://wenku.baidu.com/view/82a84b225901020207409c6e.html
2.Application life cycle
转载自: http://blog.csdn.net/richway2010/archive/2011/06/29/6574987.aspx
1、前台进程
顾名思义,前台进程就是在屏幕最前端显示并和用户交互的Activity进程或者该进程的一个BroadcastReceiver正在运行。这样的进程重要性最高,在系统中也 只有少数这样的进程。除非在系统内存非常低,万不得已的情况下才会被中止,否则系统不会选择中止前台进程。
一般而言,满足以下条件之一即可视为前台进程
1) 进程正在最前端运行一个和用户交互的Activity(其OnResume()方法将被调用)
2) 进程有一个正在运行的BroadcastReceiver(它的BroadcastRecevicer.onReceive()方法正在被执行)
3) 进程有一个Service,并且在Service的某个回调函数内正有执行的代码
2、可见进程
可见进程是指那些对于用户可见,但是不显示在屏幕的最前端的进程。可见进程的重要程度也是很高的,通常不会被系统所中止,除非处于舍车保帅的情况, 为了保持所有的前台进程的正常运行而不得不中止可见进程。
一般而言,满足以下条件之一即可视为可见进程
1)有一个非前台但是仍然对用户可见的activity(onPause()方法被调用)。例如:当前的前台的activity是一个对话框,上一个activity还是可见的
2)具有一个绑定到可见activity的service
3、服务进程
服务进程是拥有Service的进程,该Service是有startService()方法启动的,这些进程通常运行在后台,并且对用户是不可见的。但是,这些进程所作的工 作却也是比较重要的,如在后台进行播放音乐的工作。所以,除非在保证前两种高级别的进程能正常工作的情况下,否则系统一般不会中止服务进程的。
4、后台进程
后台进程运行着对用户不可见的activity(调用过onStop()方法),这些进程对用户体验没有直接的影响,可以在上述进程需要内存资源的时候,从后台进程 这回收。通常,系统中有很多的不可见的进程在运行,这些都保存在LRU(least last used)列表中,以便内存不足的时候会在第一时间被回收。当需要中止进程 的时候,系统会保证最近一个被用户看到的进程最后一个被中止。
5、空进程
在空进程中无任何的应用程序组件,而这种进程存在的唯一理由是提供一种缓存机制,使得缩短应用程序下次启动所需的时间。系统会经常的中止空进程, 从而达到调节程序缓存和系统缓存的平衡。
hello android
package com.eoeAndroid.HelloWorld; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class ActivityMain extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView tv = new TextView(this);//TextView 继承view view代表了一块区域,这块区域可以处理事件并可以主动渲染这块区域 tv.setText("hello,Android"); setContentView(tv); } }