Android一些新的技术栈,你都会哪些?

Jetpack Compose: Jetpack Compose是一种全新的声明式UI框架,用于构建Android应用的用户界面。它使UI开发更加简单和直观,通过使用Kotlin语言来创建交互式和动态的UI组件。

Kotlin Multiplatform: Kotlin Multiplatform允许开发者在多个平台(如Android、iOS、Web等)上共享业务逻辑代码。这有助于减少重复编写代码的工作量,提高代码的重用性。

Android App Bundles: App Bundles是一种新的发布格式,允许你根据设备配置和用户需求生成优化的APK。这可以减小应用的安装包大小,并提高用户下载和安装的效率。

AndroidX: AndroidX是一组用于支持现代Android开发的库和工具集。它提供了许多新的组件和功能,用于简化开发流程和提高性能。

ViewModel和LiveData: ViewModel和LiveData是用于处理Android应用的UI层和数据层之间的通信的组件。它们帮助开发者构建更健壮、响应式和易于测试的应用。

Hilt: Hilt是由Google推出的依赖注入框架,基于Dagger,旨在简化依赖注入的实现和管理。

Coroutines: Kotlin Coroutines是一种用于处理异步编程的框架,使异步任务更加简单和易于管理,可以用于在Android应用中处理多线程任务。

MotionLayout: MotionLayout是一个用于实现复杂动画和过渡效果的布局容器,它可以帮助开发者创建流畅的动画和交互体验。

Navigation Component: Navigation Component是一种用于管理应用内导航的框架,可以简化界面之间的切换和导航管理。

CameraX: CameraX是一个相机框架,旨在简化在Android应用中集成相机功能,并提供一致的API来处理不同设备的相机硬件差异。

ARCore: ARCore是Google的增强现实(AR)平台,使开发者能够在移动设备上构建丰富的增强现实体验。

Machine Learning Kit: Google提供了一系列的工具和库,用于在Android应用中集成机器学习功能,例如TensorFlow Lite,使开发者可以构建智能化的应用。

在这里插入图片描述

涉及技术内容:
framework java层
语言:Java

1.开机启动流程:Android 7.0平台开机启动_android7.0开机自启_jamousjang的博客-CSDN博客

Android系统启动流程解析
基于Android13的系统启动流程分析

2.Watchdog机制

3.Anr 机制

4.AMS四大组件启动流程

5.input 输入机制

6.monkey机制

7.binder机制

native 层:
语言 C++/C/JNI

1.Android 平台信号机制

2.Android debuggerd 流程

3.arm 平台寄存器作用

4.压栈, 跳转,执行,返回:从汇编看函数调用 压栈, 跳转,执行,返回:从汇编看函数调用 - 簡書

5.gdb,objdump,addr2line,oatdump 工具使用

6.arm常用汇编指令

7.Android 动态链接技术 linker

  1. elf 文件分析

  2. jemalloc 机制

  3. dlmalloc 机制

art :
1.虚拟机art创建流程
2.类加载链接初始化
3.Class文件格式,dex文件格式,oat,art文件格式
4.dex2oat字节码转换成机器码流程
5.JIT
6.ART中的JNI
7.CheckPoints
8.线程状态管理
9.ART中的内存分配和释放
10.GC机制以及Heap

linux知识:
1.linux的线程状态 Linux进程状态解析之R、S、D、T、Z、X_tonyevehello的博客-CSDN博客

2.meminfo 知识 内存分析命令总结

稳定性相关Log机制:
1.trace

2.tomestone

3.bugreport

4.dropbox

5.hprof

6.coredump

7.ramdump

8.dumpsys

9.strace

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/112974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp检测新版本

一、代码 在app.vue中写入 Update() {const updateManager uni.getUpdateManager();console.log(版本,updateManager,uni.getSystemInfoSync());updateManager.onCheckForUpdate(function(res) {// 请求完新版本信息的回调console.log(版本更新, res);});updateManager.onUpd…

2023年【北京市安全员-A证】考试报名及北京市安全员-A证考试资料

题库来源:安全生产模拟考试一点通公众号小程序 北京市安全员-A证考试报名根据新北京市安全员-A证考试大纲要求,安全生产模拟考试一点通将北京市安全员-A证模拟考试试题进行汇编,组成一套北京市安全员-A证全真模拟考试试题,学员可…

粗糙集知识约简的python代码

看到不少人给我留言关于粗糙集的问题, 由于以前代码写的时间太长了,而且过于简化,我都忘了自己怎么写的了,我就没有每个人都回应。 现在更新新版的粗糙集代码 知识约简也相当简单,只要调用RoughSets.cores就可以看到哪…

【LeetCode】59. 螺旋矩阵 II

1 问题 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 示例 2: 输入:n…

windows 11 安装PHP8.2

环境说明 windows:windows 11 x64apache: Apache/2.4.43php :php-8.2.11 一.php 1、PHP下载 PHP For Windows: Binaries and sources Releases 注意: 1.要下载Thread Safe,否则没有php8apache2_4.dll这个文件;如果使用Apache作为服务器…

SpringSecurity+ Oauth2.0+JWT 0-1

这里写目录标题 准备工作准备SQL添加用户添加依赖准备UserInfoUserMapperUserServiceUserServiceImpl配置SpringDataUserDetailsService 授权服务器:AuthorizationServer配置客户端详细信息管理令牌定义TokenConfig定义AuthorizationServerTokenServices 令牌访问端…

k8s 实战 常见异常事件 event 及解决方案分享

k8s 实战 常见异常事件 event 及解决方案分享 集群相关 Coredns容器或local-dns容器 重启集群中的coredns组件发生重启(重新创建),一般是由于coredns组件压力较大导致oom,请检查业务是否异常,是否存在应用容器无法解析域名的异常。如果是l…

Python爬虫基础之Selenium详解

目录 1. Selenium简介2. 为什么使用Selenium?3. Selenium的安装4. Selenium的使用5. Selenium的元素定位6. Selenium的交互7. Chrome handless参考文献 原文地址:https://program-park.top/2023/10/16/reptile_3/ 本文章中所有内容仅供学习交流使用&…

左连接一对多的情况

左连接一对多时候,应该以主表唯一数据为左表 GROUP_CONCAT()

Flutter之Widget生命周期

目录 初始化构造函数initStatedidChangeDependencies 运行时builddidUpdateWidget 组件移除deactivatedisposereassemble 函数生命周期说明:实际场景App生命周期 前言:生命周期是一个组件加载到卸载的整个周期,熟悉生命周期可以让我们在合适的…

父组件与子组件的属性透传

透传是vue中一种特性,官方的解释是:“透传 attribute”指的是传递给一个组件,却没有被该组件声明为 props 或 emits 的 attribute 或者 v-on 事件监听器。最常见的例子就是 class、style 和 id。这句话解释过来就是一些不被prop定义的属性直接…

django 支付宝支付

支付宝支付 1.注册开发者账号 调试支付宝支付需要先在支付宝开放平台进行组测,入驻为“自助研发者”,链接为支付宝开放平台 2.进入开发者工具中的沙箱 里面有所需的id 域名 3.RSA 加密算法

尚硅谷Flink(完)FlinkSQL

🧙FlinkSQL🏂🤺 Table API 和 SQL 是最上层的 API,在 Flink 中这两种 API 被集成在一起,SQL 执行的对象也是Flink 中的表(Table),所以我们一般会认为它们是一体的。 SQL API 是基于…

短视频矩阵系统源头开发

一、智能剪辑、矩阵分发、无人直播、爆款文案于一体独立应用开发 抖去推----主要针对本地生活的----移动端(小程序软件系统,目前是全国源头独立开发),开发功能大拆解分享,功能大拆解: 7大模型剪辑法(数学阶乘&#x…

openHarmony UI开发

常用组件和布局方式 组件 ArkUI有丰富的内置组件,包括文本、按钮、图片、进度条、输入框、单选框、多选框等。和布局一样,我们也可以将基础组件组合起来,形成自定义组件。 按钮: Button(Ok, { type: ButtonType.Normal, stateEf…

C# Onnx Yolov8 Detect 烟雾检测

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace Onnx…

用Python解析HTML页面

用Python解析HTML页面 文章目录 用Python解析HTML页面HTML 页面的结构XPath 解析CSS 选择器解析简单的总结 在前面的课程中,我们讲到了使用 request三方库获取网络资源,还介绍了一些前端的基础知识。接下来,我们继续探索如何解析 HTML 代码&…

leetcode做题笔记191. 位1的个数

编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 1 的个数(也被称为汉明重量)。 提示: 请注意,在某些语言(如 Java)中…

Python超入门(5)__迅速上手操作掌握Python

# 20.列表# 一维列表 names [Hash, Bob, Nick] print(names) # 全打印 print(names[:]) # 全打印 print(names[1:3]) # 打印1到2号索引 print(names[:2]) # 打印0到1号索引[Hash, Bob, Nick] [Hash, Bob, Nick] [Bob, Nick] [Hash, Bob]# 二维列表:一维列表中嵌套一维列表…

Module not found: Error: Can‘t resolve ‘core-js/modules/es.promise.js‘

1.遇到的问题 具体错误: ERROR in ./src/js/index.js 1:0-48 产环境配置15js兼容性处理srcjsERROR in ./src/js/index.js 2:0-39 Module not found: Error: Cant resolve core-js/modules/es.promise.js in D:DesktopMy FilesRecentlyStudyWebPackdemo3.webpack生…