本文共 1719 字,大约阅读时间需要 5 分钟。
参考自书籍《Android移动开发》
Android进程的优先级从高到低依次是前台进程、可见进程、服务进程、后台进程和空进程。
a、进程正在最前端运行一个与用户交互的Activity[Activity的onResume()方法被调用]
b、进程中有一个正在运行的BroadcastReceiver[BroadcastReceiver.onReceive()方法正在被执行] c、进程中有一个Service,并且在Service的某个回调函数内正有执行的代码。
a、有一个非前台但是仍然可对用户可见的Activity[Activity的onPause方法被调用]。例如前台Activity是一个对话框,上一个Activity还是部分可见的,即上一个Activity所属进程为可见进程。
b、具有一个绑定到可见Activity的Service.
服务进程是指包含已启动服务的进程。•没有用户界面•在后台长期运行
后台进程:后台程序运行着对用户不可见的Activity[Activity的onStop方法被调用],这些进程对用户体验没有直接的影响。
Android系统中一般存在数量较多的后台进程,在系统资源紧张时,系统将优先清除用户较长时间没有见到的后台进程。
Activity的四种状态:
一般我们会在onStop方法保存当前数据和当前的UI状态,而同时在onPause方法保存重要的数据。 onPause方法在Android系统中要求执行的时间是“短暂”的,因为要马上启动一个Activity,所以onPause方法中不能有太多的处理。 用户界面基础 View在Android中可以理解为视图。它占据屏幕上的一块矩形区域,负责提供组件绘制和事件处理的方法。View类是所有widgets组件的基类,例如,TextView(文本框)、EditText(编辑框)和Button(按钮)等都是widgets组件。 View类位于android.view包中;文本框组件TextView是View类的子类,位于Android.widget包中。 ViewGroup在Android中可以理解为容器。ViewGroup类继承自View类,它是View类的扩展,是用来容纳其他组件的容器,但是由于ViewGroup是一个抽象类,所以在实际应用中通常总是使用它的子类作为容器的,例如布局容器。 在Android中,所有的UI界面都是有View类和ViewGroup类及其子类组合而成的。在ViewGroup类中,除了可以包含普通的View类外,还可以再次包含ViewGroup类。实际上,这使用了Composite(组合)设计模式。UI组件的层次结构如下:Padding和Margins
Padding表示在View的顶部、底部、左侧和右侧的填充像素,它也被称为内边距。它设置的是内容与View边缘的距离。Padding将占用View的部分高度和宽度。 Margins表示组件的顶部、底部、左侧和右侧的空白区域,称为外边距。它设置的是组件与父容器的距离。Margins不占用View组件的宽度和高度。为组件设置外边距后,该组件将远离父容器指定的距离,如果还有相邻组件,那么也将远离其相邻组件指定距离。 关于Padding和Margins的区别如下图: px、dp和sp px(Pixels,像素):每个px对应屏幕上的一个点。例如1024x720分辨率 dp(设置独立像素):一种基于屏幕密度的抽象单位,也可以使用dip。在每英寸160点的显示器上,1dp=1px。但随着屏幕密度的改变,dp与px的换算也会发送变化。 sp(比例像素):主要处理字体的大小,可以根据用户字体大小首选项进行缩放。转载地址:http://rmoxi.baihongyu.com/