Activity、window、view一些知识点

参考自书籍《Android移动开发》

Android进程的优先级从高到低依次是前台进程、可见进程、服务进程、后台进程和空进程。
在这里插入图片描述

  1. 前台进程:是Android系统中最重要的进程,是与用户正在进行交互的进程。其重要性最高。 一般满足以下情况可视为前台进程:

a、进程正在最前端运行一个与用户交互的Activity[Activity的onResume()方法被调用]
b、进程中有一个正在运行的BroadcastReceiver[BroadcastReceiver.onReceive()方法正在被执行]
c、进程中有一个Service,并且在Service的某个回调函数内正有执行的代码。

  1. 可见进程:是指部分程序界面能够被用户看见,却不在前台与用户交互,不影响界面事件的进程。 一般满足以下情况可视为可见进程:

a、有一个非前台但是仍然可对用户可见的Activity[Activity的onPause方法被调用]。例如前台Activity是一个对话框,上一个Activity还是部分可见的,即上一个Activity所属进程为可见进程。
b、具有一个绑定到可见Activity的Service.

  1. 服务进程是指包含已启动服务的进程。•没有用户界面•在后台长期运行

  2. 后台进程:后台程序运行着对用户不可见的Activity[Activity的onStop方法被调用],这些进程对用户体验没有直接的影响。

Android系统中一般存在数量较多的后台进程,在系统资源紧张时,系统将优先清除用户较长时间没有见到的后台进程。

  1. 空进程是不包含任何活跃组件的进程,系统可能随时关闭这些进程。

在这里插入图片描述

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(比例像素):主要处理字体的大小,可以根据用户字体大小首选项进行缩放。

猜你喜欢

转载自blog.csdn.net/suwen8100/article/details/118226326
今日推荐