冒失的前言之前写了第一篇关于 Compose 初探的文章,大概说了下 Compose 的前世今生,本篇文章是基于上一篇文章写的,阅读之前最好先阅读下:初探 Compose 版本的玩安卓。上一篇文章由于篇幅的原因很多东西没有介绍, Compose 非常大,也绝对不是一篇文章能写完的,咱们慢慢来。这篇文章打算详细介绍下 Compose 的导航—— Navigation ,还有 Compose 的状态管
转载
2024-07-26 07:35:09
77阅读
# Docker Compose YAML文件字段详解
## 1. 引言
[Docker Compose]( Compose的YAML文件字段,以帮助读者更好地理解和使用该工具。
## 2. YAML文件结构
Docker Compose的YAML文件包含以下几个顶级字段:
- version:指定Docker Compose文件格式的版本。
- services:定义应用程序的各个服
原创
2023-10-05 13:10:55
93阅读
Dockerfile详解超全_萧木易的博客_dockerfile文件详解1、Dockerfile1.1、什么是dockerfile?Dockerfile是一个包含用于组合镜像的命令的文本文档,可以使用在命令行中调用任何命令。Docker通过读取Dockerfile中的指令自动生成镜像。docker build命令用于从Dockerfile构建镜像,可以在docker build命令中使用-f标志指
转载
2023-07-28 09:01:32
78阅读
点赞
ANR定义及原理ANR Application Not Responding, 即应用无响应 。原理由于Android有主线程设计,因此,凡系统向应用主线程发消息,让主线程去处理,超过时间,应用主线程未返回响应,就会导致ANR。 系统会计时,规定时间内,主线程无消息返回,系统就认为是ANR,并做相应处理(弹窗,甚至杀掉进程)。 (背景知识: Android中应用进程模型,线程模型,Activity
转载
2023-12-20 09:43:04
60阅读
Retrofit2 工作原理解析(一)概述Retrofit是square公司开源的一款类型安全的http请求框架,用于Java和Android程序。Retrofit可以说是restful风格的一个代表作,可能有人对于restful设计风格不太熟悉,在此有必要做一下解释;restful(Representational State Transfer):表现层状态转化,结合这里的Retrofit来理解
转载
2023-08-16 18:10:15
45阅读
1. 为什么需要内容提供者contentProvider?为不同的应用之间数据共享提供统一的访问接口,内容提供者的作用 把私有的数据给暴露出来2. 内容提供者原理?原理:可以把ContentProvider当成Android系统内部的网站,这个网站以固定的Uri对外提供服务,而ContentResolver则可以当成android系统内部的HttpClient,它可以向指定的Uri发送请求(实际上
转载
2023-09-21 10:24:42
101阅读
本系列将通过两篇文章:嵌套滚动原理分析-- NestedScrolling嵌套滚动原理分析--CoordinatorLayout相信你一定会对嵌套滚动有更深的理解了:嵌套滚动的必要条件有两条:1.子View要去实现NestedScrollingChild接口2.父类要去实现NestedScrollingParent接口,才有能完成嵌套滚动上图实例:根布局是实现了NestedScrollingPar
转载
2024-07-01 21:08:10
72阅读
一、概述NestedScrollingParent 和 NestedScrollingChild 两个类是Android在support.v4中提供的,这是一套全新的嵌套滑动机制,用来实现一些传统的自定义ViewGroup事件分发处理所不能完成的效果。按照传统事件分发角度来看,事件是由父View发起的,如果父View需要自己做滑动效果就要拦截掉事件并通过自己的onTouchEvent方法进行消耗,
转载
2023-09-20 16:22:14
47阅读
下面介绍最本质的多线程:hanlder和message机制: 为何需要多线程: 在日常应用中,我们通常需要处理一些“后台,用户不可见”的操作,例如说,我们需要下载一个音乐,要是你的应用必须等用户下载完成之后才可以进行别的操作,那肯定让用户非常的不爽。这时候,我们通常的做法是,让这些操作去后台执行,然后等后台执行完毕之后,再给用户弹出相应的提示信息。这时候,我们就需要使用多线程机制,然后通过
转载
2023-08-17 12:37:52
43阅读
前言动画的使用 是 Android 开发中常用的知识
本次分享探讨 Android动画,包括动画的种类、使用、原理等,以及支持跨平台动画库--Lottie 目录 1. 动画类型Android动画主要分为分为两大类(三种):视图动画:补间动画、逐帧动画属性动画下面。我们一起探讨下三种动画的使用 & 原理 2. 视图动画(View Animat
转载
2023-10-29 14:20:25
70阅读
Butter KnifeButter Knife是基于安卓的视图依赖注入框架,其原理是使用编译前注解处理生成相关辅助代码,在运行时进行辅助类的加载从而 调用相关方法完成视图的注入。由于其是采用在源码编译时进行注解的处理,而非运行时再处理,所以对应用的性能影响不大。使用 它可以使你的代码更为整洁、优雅,同时在很大程度上加快你的编程速率,把你从繁琐的findViewById中解放出来。下载使用An
转载
2023-11-28 23:26:59
16阅读
启动一个新的应用程序时,首先会调用startActivity来启动Activity,此时进程还没有创建,会fork一个新进程,并创建ActivityThread实例;Activity的创建过程 android中Activity只是一个控制器,负责用户操作和View之间传递消息,Activity创建一个能让用户摆放UI的Window(setContentView)实例,但它本
转载
2023-11-10 06:58:41
41阅读
1 Glide源码分析Glide是一款由Bump Technologies开发的图片加载框架,使得我们可以在Android平台上以极度简单的方式加载和展示图片。本博客基于Glide 3.7.0版本来进行讲解,这个版本的Glide相当成熟和稳定。1.1 Glide框架 简单的讲就是Glide收到加载及显示资源的任务,创建Request并将它交给RequestManager,Request 启动 En
转载
2024-01-24 21:39:38
62阅读
前言对于AIDL, 我不是很熟悉, 因为在工作中没有用到过.但是AIDL确实是Android跨进程通信中最常见的方式, 所以学习一下是十分有必要的.AIDL简介AIDL (Android Interface Definition Language) 是一种接口定义语言,用于生成可以在 Android 设备上两个进程之间进行进程间通信 (interprocess communication, IPC
转载
2023-08-13 23:07:29
0阅读
1. 简介虽然Android系统非常庞大且错综复杂,需要具备全面的技术栈,但整体架构设计清晰。Android底层内核空间以Linux Kernel作为基石上层用户空间由Native系统库、虚拟机运行环境、框架层组成,通过系统调用(Syscall)连通系统的内核空间与用户空间。对于用户空间主要采用C++和Java代码编写,通过JNI技术打通用户空间的Java层和Native层(C++/C),从而连通
转载
2023-08-17 10:29:31
28阅读
Android提供用来存储一些简单的配置信息的一种机制,例如,一些默认欢迎语、登录的用户名和密码等。其以键值对的方式存储,使得我们可以很方便的读取和存入.当Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出。&nbs
转载
2023-11-21 16:26:19
26阅读
最近在看维术的Android插件化原理解析,需要补充一些Framework层的知识,首先来研究Activity的启动过程。Activity的启动从Activity类中startActivity方法(先看Actiivty中的,后面再看Context中的,本质是一样的)开始。跟着这个方法一步一步跟踪,会发现它最后在startActivityForResult里面调用了Instrument对象的exec
转载
2023-09-12 20:35:48
52阅读
应用程序原理Android应用程序是通过Java编程语言来写。Android软件开发工具把你的代码和其他数据、资源文件一起编译、打包成一个APK文件,这个文档以.apk为后缀,保存了一个Android应用程序所有的内容,Android设备通过它来安装对应的应用。一旦安装到设备上,每个Android应用程序就运行在各自独立的安全沙盒中:Android系统是一个多用户的Linux系统,每一个应用都是一
转载
2023-07-05 17:40:20
53阅读
一、Dialog我们首先来看看android官方文档对Dialog的介绍A dialog is a small window that prompts the user to make a decision or enter additional information. A dialog does not fill the screen and is normally used for moda
转载
2023-11-18 17:34:13
66阅读
目录 1. Abstract 2. Introduction 3. Intent的架构 4. Intent的发送过程 4.1 Intent消息在发送进程的逻辑 4.2 &n
转载
2024-01-11 12:14:57
69阅读