Android核心技术点详解
需积分: 9 140 浏览量
更新于2024-08-04
收藏 113KB MD 举报
"该文件是关于Android开发的知识点汇总,涵盖了Activity、生命周期、启动模式、Fragment、Service、BroadcastReceiver、ContentProvider、View及其相关机制、数据存储、进程管理、Parcelable接口、IPC(进程间通信)以及Binder和AIDL等核心概念。"
## Activity
Activity是Android应用中的一个组件,它代表了用户界面的一个屏幕。用户可以与其交互,完成特定任务。每个Activity都有自己的生命周期,包括创建、启动、暂停、恢复和销毁等状态。
### 生命周期
Activity的生命周期主要包括onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()等方法,开发者需要在这些方法中进行相应的操作,以确保应用行为的正确性。
### 启动模式
Activity的启动模式有四种:标准模式(Standard)、单实例模式(SingleInstance)、单任务模式(SingleTask)和单栈顶模式(SingleTop),它们决定了Activity如何被创建和管理。
## Fragment
Fragment是Activity的一部分,可独立存在并动态添加到Activity中。它可以有自己的UI和生命周期,与Activity进行通信。
### 特点
Fragment增加了布局的灵活性,可以在不同屏幕尺寸和配置下重用代码。
### 生命周期
Fragment的生命周期与Activity紧密关联,但也有独立的生命周期方法,如onAttach()、onCreate()、onCreateView()、onActivityCreated()、onResume()等。
### 与Activity通信
Fragment与Activity通过FragmentManager进行通信,可以通过onActivityResult()处理回调,或者使用接口、Bundle等方式传递数据。
## Service
Service是后台运行的组件,用于执行长时间运行的操作,不提供用户界面。
### 启动过程
Service通过startService()启动,会调用onStartCommand()方法。
### 绑定过程
通过bindService()方法绑定Service,调用onBind()返回IBinder接口。
### 生命周期
Service的生命周期包括onCreate()、onStartCommand()、onBind()、onUnbind()和onDestroy()等方法。
## 进程
Android系统中,应用可以运行在不同的进程中。进程的生命周期直接影响应用的内存占用和性能。
### 进程生命周期
进程有五种状态:空进程、可驻留进程、前台进程、可视进程和后台进程,系统根据OOM_ADJ值决定进程的优先级和是否被杀死。
### 多进程
应用可以使用多个进程,每个进程有自己的Dalvik虚拟机。
### 进程存活
通过Service、前台服务或 binder 连接可以提高进程的存活率。
## IPC(进程间通信)
Android中,进程间的通信主要依赖于Binder机制。
### Binder
Binder是Android特有的轻量级通信机制,允许不同进程间的数据交换。
### AIDL
Android Interface Definition Language (AIDL) 用于定义进程间通信的接口,使得不同进程的服务之间可以调用对方的方法。
## 数据存储
ContentProvider是Android中用于共享数据的组件,支持多种数据存储方式,如SQLite数据库、文件系统、网络等。
## View
View是UI的基础组件,负责绘制和事件处理。
### MeasureSpec
MeasureSpec用于测量View的大小,定义了父视图对子视图的约束。
### MotionEvent
MotionEvent封装了触摸事件的信息,如ACTION_DOWN、ACTION_UP等。
### VelocityTracker
VelocityTracker用于追踪手指滑动的速度和方向。
### GestureDetector
GestureDetector用于识别常见手势,如滑动、点击等。
### Scroller
Scroller帮助实现平滑的滚动效果。
### View的滑动和事件分发
ViewGroup会处理滑动手势,并将事件分发给子View。
## 自定义View
开发者可以创建自定义View,扩展功能或实现特殊效果。
## Parcelable接口
Parcelable是高效的序列化接口,用于在Intent或Binder中传递对象。
### 使用示例
实现Parcelable接口需要重写writeToParcel()和createFromParcel()方法。
### Parcelable与Serializable对比
Parcelable比Serializable更高效,适合频繁的序列化操作。
### 数据存储
Android提供了多种数据存储方式,如SharedPreferences、SQLite、文件、ContentProvider等。
## 进程被杀情况
系统会在内存不足时杀掉进程,通常按照OOM_ADJ值排序。
## 进程保活方案
通过Service、前台服务、Receiver等方法可以提高进程的保活能力,但需谨慎使用,避免影响系统性能。
## IPC方式
Android中的IPC方式主要有Binder、AIDL、ContentProvider、Intent等。
班长我想训练
- 粉丝: 0
- 资源: 1
最新资源
- Python中快速友好的MessagePack序列化库msgspec
- 大学生社团管理系统设计与实现
- 基于Netbeans和JavaFX的宿舍管理系统开发与实践
- NodeJS打造Discord机器人:kazzcord功能全解析
- 小学教学与管理一体化:校务管理系统v***
- AppDeploy neXtGen:无需代理的Windows AD集成软件自动分发
- 基于SSM和JSP技术的网上商城系统开发
- 探索ANOIRA16的GitHub托管测试网站之路
- 语音性别识别:机器学习模型的精确度提升策略
- 利用MATLAB代码让古董486电脑焕发新生
- Erlang VM上的分布式生命游戏实现与Elixir设计
- 一键下载管理 - Go to Downloads-crx插件
- Java SSM框架开发的客户关系管理系统
- 使用SQL数据库和Django开发应用程序指南
- Spring Security实战指南:详细示例与应用
- Quarkus项目测试展示柜:Cucumber与FitNesse实践