07第四章课后习题

4-1 Android 程序生命周期内存在哪些进程,这些进程的优先级是怎样排列的?

Android 程序生命周期内存在 前台进程、 可见进程、 服务进程、 后台进程和 空进程,它们的的优先级从高到低依
次是前台进程、可见进程、服务进程、后台进程和空进程。

4-2 Android 系统中包括哪 4 大基本组件,它们的作用都是什么?

 Activity
Activity 是 Android 程序中最基本的模块,它是为用户操作而展示的可视化用户界面,一个 Android 应用程序中
可以只有一个 Activity,也可以包含多个,每个 Activity 的作用及其数目,取决于应用程序及其设计。
 Service
Service 是服务的意思,它没有可视化的用户界面,而是在一段时间内在后台运行的程序。
 BroadcastReceiver
BroadcastReceiver(广播接收器)是一个专注于接收广播通知信息,并做出对应处理的组件。Android 程序中的
很多广播是源自于系统的,比如,通知时区改变、电池电量低、拍摄了一张照片或者用户改变了语言选项等;另外,
Android 应用程序也可以进行广播,比如,可以在下载程序中通知其他应用程序数据下载完成等。
 ContentProvider
Content Provider 是应用程序之间共享数据的一种接口机制,是一种更为高级的数据共享方法,可以指定需要共
享的数据,而其他应用程序则可以在不知道数据来源、路径的情况下,对共享数据进行操作。

4-3 简述 Activity 的 4 种状态。

Activity 作为 Android 应用程序最重要的一部分,它主要有 4 种状态,分别如下:
 Running 状态:一个新 Activity 启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用
户交互的激活状态。
 Paused 状态:当 Activity 被另一个透明或者 Dialog 样式的 Activity 覆盖时的状态,此时它依然与窗口管理器
保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点,故不可与用户交互。
 Stopped 状态:当 Activity 不可见时,Activity 处于 Stopped 状态。Activity 将继续保留在内存中保持当前的
所有状态和成员信息,假设系统别的地方需要内存的话,这时它是被回收对象的主要候选。当 Activity 处于
Stopped 状态时,一定要保存当前数据和当前的 UI 状态,否则一旦 Activity 退出或关闭时,当前的数据和
UI 状态就丢失了。
 Killed 状态:Activity 被杀掉以后或者被启动以前,处于 Killed 状态。这时 Activity 已被移除 Activity 堆栈中,
需要重新启动才可以显示和使用。

4-4 在一个 Activity 的生命周期中有哪些方法会被系统回调?

 onCreate()方法:在创建 Activity 时被回调。该方法是最常见的方法,在 Eclipse 中,创建 Android 项目时,
会自动创建一个 Activity,在这个 Activity 中,默认重写了 onCreate(Bundle savedInstanceState)方法,用于对
该 Activity 执行初始化。
 onStart()方法:启动 Activity 时被回调,也就是当一个 Activity 变为显示时被回调。
 onRestart()方法:重新启动 Activity 时被回调,该方法总是在 onStart()方法以后执行。
 onPause()方法:暂停 Activity 时被回调。该方法需要被非常快速的执行,因为直到这个方法执行完毕以前,
下一个 Activity 都不能被恢复。在该方法中,通常用于持久保存数据。例如,当我们正在玩游戏时,突然来
了一个电话,这时候就可以在该方法中,将游戏状态持久的保存起来。
 onResume()方法:当 Activity 由于暂停状态恢复为活动状态时调用。调用该方法后,该 Activity 位于 Activity
栈的栈顶。该方法总是在 onPause()方法以后执行。
 onStop()方法:停止 Activity 时被回调。
 onDestroy()方法:销毁 Activity 时被回调。

4-5 Log 类提供了哪些用于输出日志信息的方法,它们的作用是什么?

Log 类提供了以下 6 个用来输出日志信息的常用方法。
 v():输出 VERBOSE 冗余日志信息,使用黑色的文字表示
 d():输出 DEBUG 故障日志信息,使用蓝色的文字表示
 i():输出 INFO 通告信息,使用绿色的文字表示
 w():输出 WARN 警告日志信息,使用橘黄色的文字表示
 e():输出 ERROR 错误日志信息,使用红色的文字表示

4-6 什么是断点?如何在程序中设置和删除断点?

设置断点是程序调试中必不可少的有效手段,Java 调试器每次遇到程序断点时都会将当前线程挂起,即暂停当
前程序的运行。
在 Java 编辑器中,提供了以下 3 种方法用于添加或删除当前行的断点。
 在显示代码行号的位置双击添加或删除当前行的断点;
 在当前行号的位置单击鼠标右键,在弹出的快捷菜单中选择“切换断点”命令实现断点的添加与删除。
 将光标定位在要设置断点的行,按下键盘中的〈Ctrl+Shift+B〉也可以添加或删除断点。

4-7 什么是 Android Lint ,以及Android Lint 如何使用?

Android Lint 是 Android 应用代码的静态分析器。它无需代码运行,就能够进行代码错误检查的特殊程序。Android
Lint 通常能找出编译器无法发现的问题,并且这些问题很有可能导致项目运行时出现的“很抱歉,XXX 已停止运行”
错误。
默认情况下,Android Lint 是不启动的,如果需要使用,需要在项目名称节点上单击鼠标右键,在弹出的快捷菜
单中选择“Android Tools”/“Run Lint:Check for Common Errors”菜单项,打开 Lint Warnings 面板,在该面板中将显
示检查到的错误或者警告。

猜你喜欢

转载自blog.csdn.net/weixin_44522477/article/details/111867545