【Android】系统架构、四大组件、结构目录

文章目录

Android系统架构

  • linux内核层

    为设备的各种硬件提供了底层的驱动,如显示驱动等

  • 系统运行库层

    通过C/C++库来为android提供主要的特性支持。如SQLiteku提供的数据库支持,penGl|ES库提供3D绘图的支持,Webkit库提供了浏览器内核的支持等;还提供一些核心库,允许开发者使用java语言编写android程序;存在Dalvik虚拟机(5.0系统后改为ART运行环境)是专门为移动设备定制的,他针对手机内存、CPU性能等情况进行了优化处理。

  • 应用框架层

    提供构建应用程序时可能用到的更重API

  • 应用层

    各种应用程序

Android四大组件

Activity

  1. 一个 Activity 包含了用户能够看到的界面,从而于用户进行交互。一个应用程序中可以有零个或者多个Activity。零个 Activity 就表示,这个应用程序不包含与用户交互的界面。
  2. Android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明注册,否则系统将不识别也不执行该Activity。
java 复制代码
        <activity
            android:name=".MainActivity"
            android:exported="true"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
  • Activity的生命周期
    Android 是使用任务(task)来管理Activity的,一个任务就是一组存放在栈里Activity的集合,这个栈也叫作返回栈。Activity的生命周期由以下几个部分组成:
函数 描述
onCreat() 一个Activity启动后第一个被调用的函数,常用来在此方法中进行Activity的一些初始化操作。例如创建View,绑定数据,注册监听,加载参数等。
onStart() 当Activity显示在屏幕上时,此方法被调用但此时还无法进行与用户的交互操作。
onResume() 这个方法在onStart()之后调用,也就是在Activity准备好与用户进行交互的时候调用,此时的Activity一定位于Activity栈顶,处于运行状态。
onPause() 这个方法是在系统准备去启动或者恢复另外一个Activity的时候调用,通常在这个方法中执行一些释放资源的方法,以及保存一些关键数据。
onStop() 这个方法是在Activity完全不可见的时候调用的。
onDestroy() 这个方法在Activity销毁之前调用,之后Activity的状态为销毁状态。
onRestart() 当Activity从停止stop状态恢进入start状态时调用状态。

Service

Broadcast Receiver

Content Provider

两大视图

  • project
  • android

主要结构目录

  • bulid

    编译时自生成文件

  • libs

    第三方jar包,会被自动添加到构建路径中去

  • java

    java代码

  • res

    项目中使用的所有资源,drawable存放图片,layout存放布局,values存放字符,mipmap存放图标

  • Manifest

    AndroidManifest.xml配置文件,程序中定义的四大组件都需要在这个文件里注册,另外这个文件中还可以给应用程序添加权限声明

  • bulid.gradle

    项目构建工具,通常有两个bulid.gradle,一个是项目级一个是app级

  • com.android.application

    应用程序模块

  • com.android.library

    库程序模块

区别:一个是可以直接运行的,一个只能作为代码库依附于别的应用程序模块来运行

相关推荐
非凡ghost3 分钟前
用 Kotlin 和 Jetpack Compose 重写的安卓视频播放器,原生体验有多流畅?
android·java·kotlin·音视频·软件需求
峥嵘life16 分钟前
Android16 系统 APEX 模块调试总结
android·大数据·开发语言
亘元有量-流量变现23 分钟前
2026安卓ASO增量攻略:摆脱iOS思维依赖,吃透多商店自然免费流量
android·aso优化·亘元有量·方糖试玩
一航jason1 小时前
安卓车机端 AIOS 技术生态全景
android·人工智能·ai·ai编程·ai-native
深念Y1 小时前
ZTE B860AV1.1-T2 机顶盒改造记录:从 Android 到 Linux 服务器
android·linux·运维·服务器·boot·cma·机顶盒
微三云 - 廖会灵 (私域系统开发)1 小时前
排队免单系统架构设计与实现原理|订单分红、队列算法、风控体系、多业态适配方案
系统架构
老郑聊AI业财智造1 小时前
从“思考-行动”到“知行合一”:ReActAgent的架构原理与工程实践全景剖析
人工智能·架构·系统架构·软件工程·软件构建
Vicky_time1 小时前
基于多仓群路由算法的中大件海外仓退货处理系统架构设计
系统架构
慢云智慧空间2 小时前
从设备联网到空间理解,智能建筑的系统架构正在经历哪些关键变化?
python·系统架构
淡淡的香烟2 小时前
Android中tcp的通信
android·物联网·tcp/ip