学习笔记分享:带你梳理一遍 Android 基础知识点

本文是Android基础知识的学习笔记,涵盖了Android的底层原理,如多用户Linux系统和进程管理,以及四大应用组件——Activity、Service、BroadcastReceiver和ContentProvider的详细解释。还讨论了组件激活的方式和Intent的作用,以及应用资源管理的相关知识点。
摘要由CSDN通过智能技术生成

今天将我之前几个月整理的关于Android的一些知识点分享给大家参考学习学习,由于内容较多我分成了两篇文章来讲解,分别为:基础知识和核心知识。今天这篇就先来讲讲Android基础知识,下一篇讲Android核心知识(内容有点多)。

底层原理

  • Android 操作系统是一个多用户 Linux 操作系统,每个应用都是一个用户
  • 操作系统一般会给每个应用分配一个唯一的 Linux 用户 ID,这个 ID 对应用是不可见的。但有些情况下两个应用可以共享同一个 Linux 用户 ID,此时他们可以访问彼此的文件,甚至还可以运行在同一个 Linux 进程中,共享同一个虚拟机。但两个应用的签名必须是一样的
  • 每个进程都有自己的虚拟机,一般每个应用都运行在自己的 Linux 进程中

应用组件

  • 应用没有唯一的入口,没有 main() 函数,因为应用是由多个组件拼凑在一起的,每个组件都是系统或者用户进入应用的入口,组件之间既可以是相互独立的,也可以是相互依赖的。系统和其它应用在被允许的情况下可以启动/激活一个应用的任意一个组件
  • 组件有四种类型: ActivityServiceBroadcastReceiver 和 ContentProvider

Activity

  • Activity 表示一个新的用户界面,只能由系统进行创建和销毁,应用只能监听到一些生命周期回调,这些回调通常也被叫作生命周期方法
  • Activity 的名字一旦确定好就不要再更改了,否则可能会引发一系列问题

Service

  • Service 表示一个后台服务,Service 可以是独立的,可以在应用退出后继续运行。也可以绑定到其他进程或 Activity,表示其他进程想使用这个 Service,像输入法、动态壁纸、屏保等系统功能都是以 Service 的形式存在的,在需要运行的时候进行绑定
  • 大部分情况下,更建议使用 JobScheduler,因为 JobScheduler 和 Doze API 配合下一般会比简单使用 Service 更省电

BroadcastReceiver

  • BroadcastReceiver 是一个事件传递的组件,通过它应用可以响应系统范围的广播通知。系统的包管理器会在安装应用时将应用中的静态广播接收器注册好,所以即使应用没在运行,系统也能把事件传递到该组件。
  • 通过 BroadcastReceiver 可以实现进程间通信

ContentProvider

  • ContentProvider 是在多个应用间共享数据的组件,如果应用的一些数据想要被其它应用使用,必须通过 ContentPrivider 进行管理,不过应用的私有数据也可以通过 ContentProvider 进行管理,主要还是因为 ContentProvider 提供了共享数据的抽象,使用者不需要知道数据究竟是以文件形式还是数据库等其他形式存储的,只需要通过 ContentProvider
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值