android 艺术开发探索 读书笔记(1-3章)
### Android艺术开发探索读书笔记(1-3章) #### 概述 《Android艺术开发探索》一书深入探讨了Android应用开发的核心技术和实践方法。本书第1至3章重点介绍了Activity生命周期、启动模式以及Android IPC机制等内容。这些知识点对于理解和掌握Android应用的行为模式及其与其他组件之间的交互方式至关重要。 #### Activity生命周期 1. **生命周期方法**: - `onCreate()`: 当Activity被创建时调用,是初始化资源和布局的好时机。 - `onStart()`: 当Activity变为用户可见时调用。 - `onResume()`: 当Activity获得焦点并准备好接收用户输入时调用。 - `onPause()`: 当Activity失去焦点但仍可见时调用。 - `onStop()`: 当Activity对用户不可见时调用。 - `onDestroy()`: 当Activity被销毁前调用。 2. **状态对应关系**: - `onCreate()` 和 `onDestroy()` 相对应。 - `onStart()` 和 `onStop()` 相对应。 - `onResume()` 和 `onPause()` 相对应。 3. **保存和恢复实例状态**: - 使用 `onSaveInstanceState()` 方法保存Activity的状态数据到`Bundle`对象中。 - 在Activity重新创建时,可以通过 `onRestoreInstanceState()` 方法恢复之前保存的数据。 4. **配置更改**: - 为了防止Activity在配置更改(如屏幕旋转)时被销毁并重建,可以在清单文件中为Activity设置 `android:configChanges` 属性,例如:`android:configChanges="orientation|keyboardHidden|screenSize"`。 5. **特殊方法**: - 当Activity因异常而终止时,可能会回调特定方法处理相关情况。 #### 启动模式 1. **标准模式 (Standard)**: - 每次启动Activity时都会创建一个新的实例,并压入任务栈中。 2. **栈顶复用模式 (SingleTop)**: - 如果目标Activity已经在栈顶,则直接复用而不创建新实例;此时会调用 `onNewIntent()` 方法而不是 `onCreate()` 或 `onStart()`。 3. **栈内复用模式 (SingleTask)**: - 如果目标Activity已存在于任务栈中,则将该Activity提升到栈顶并复用;如果不存在,则创建新实例。 - 通过 `taskAffinity` 属性指定Activity所在的任务栈名称,如果为空则默认为应用的包名。 4. **单实例模式 (SingleInstance)**: - Activity始终位于一个独立的任务栈中,且在整个系统中仅存在一个实例。 - 通常用于实现单例模式或全局设置页面等场景。 #### Android IPC机制 1. **简介**: - Android IPC(Inter-Process Communication)是指不同进程之间进行通信和数据交换的技术。 - 主要支持的方式包括:`AIDL`、`Messenger`、`ContentProvider` 和 `Socket` 等。 2. **Binder**: - 是Android中实现IPC的基础技术之一。 - 它作为客户端和服务端之间通信的媒介,允许不同进程中的对象进行交互。 - 在实现 `Service` 和 `AIDL` 时经常用到。 3. **多进程实现**: - 可以为四大组件指定 `android:process` 属性来运行在不同的进程中。 - 例如,在 `<service>` 标签中设置 `android:process=":core"` 表示此服务运行在名为 `:core` 的进程中。 4. **Intent Filter**: - 用于定义Activity或其他组件如何响应特定的意图(Intent)。 - 包括 `Action`、`Category` 和 `Data` 三个组成部分。 - 示例: ```xml <intent-filter> <action android:name="com.renlei.action.ACTION_TEST1"/> <action android:name="com.renlei.action.ACTION_TEST2"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="com.renlei.category.test"/> <data android:scheme="renlei" android:host="blog.csdn.net"/> <data android:scheme="file" android:host="www.mi.com"/> </intent-filter> ``` 5. **检查进程**: - 可以通过命令行工具 `adb shell ps | grep com.xiaomi.smarthome` 来查看进程信息。 通过以上知识点的学习,开发者可以更深入地理解Android应用程序的工作原理,从而编写出更加高效、稳定的程序。此外,掌握这些核心概念也有助于解决实际开发中遇到的各种问题,提高应用程序的质量和用户体验。
剩余32页未读,继续阅读
- 粉丝: 19
- 资源: 40
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 航空车辆检测7-YOLO(v7至v9)、COCO、CreateML、Darknet、Paligemma、VOC数据集合集.rar
- 飞鱼星路由器.htpasswd信息泄露漏洞分析与复现
- 微信小程序字典查询作品
- 脱兔股票快速交易L-1.1.0.2
- 绕过火绒、Defender、360安全软件的技术实现与代码示例
- 识别纸质试卷上的表格,并通过OCR技术提取其中的内容-纸质试卷上表格识别与OCR技术提取内容-详细解释含代码解读
- AppleMusic微信小程序
- 航空车辆检测8-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- 短视频创作工具,抖音黑科技,帮助短视频创作智能化、数据化、自动化,提升创作效能,让短视频创作更简单!
- 最全微信小程序开发100个案例
- 基于Java语言校园快递代取系统的设计与实现+jsp(源码).rar
- 蓝凌OA系统 thirdimsyncforkkwebservice 任意文件读取漏洞分析及复现
- 学生公寓管理中心系统的设计与实现+jsp(源码).rar
- 天清汉马vpn管理证书
- 船、无人机、汽车、人检测15-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
- SecureCRT8.5