移动开发

Android四大组件的工作过程,原理解析

一、Activity启动过程     首先我们要知道Activity有冷启动和热启动之分,通俗来说冷启动就是应用进程尚未创建,热启动则已经创建完成。     在点击桌面应用图标时,即将要启动的App将和Launcher、AMS、Zygote这三者多次通信,才会启动一个App,然后再启动Activity。 追踪源码,我们可以得到以下整体的时序图: Activity启动时序图 简单的梳理

这么好的Android开发辅助工具App不白嫖可惜了

过年期间闲来没事,手撸了一个辅助Android开发调试的工具App,适合Android开发者和测试同学使用。 点击直接下载APK 或者去Google Play安装 功能概览 对我这样的懒人开发者来说,反复的做同样一件事简直太煎熬了,因此我把我平时开发中需要反复操作的命令和一些繁琐的操作整理成了一个工具。 废话不多说, 先上图了解下工具的大概功能有哪些(内容比截图丰富,欢迎下载体验)

关于安卓DialogFragment使用(二)

关于安卓底部DialogFragment基类封装(二) 上文封装了一个普通的dialogfragment dialog fragment 是基于Android X DialogFragment 进行封装的。 本文将会基于BottomSheetDialogFragment进行封装。 对比普通的DialogFragment进行封装,不同的是,BottomSheetDialogFragment是专门用于

[Android网络库]快速使用Android网络

关于 Fast Android 网络库 Fast Android Networking Library 是一个强大的库,用于在 Android 应用程序中进行任何类型的网络,它建立在OkHttp 网络层之上。 快速的 Android 网络库负责处理所有事情。因此,您无需执行任何操作,只需发出请求并听取响应即可。 为什么使用快速安卓网络? 最近在 Android Marshmall

Android NFC 读取卡片信息

NFC读取公交卡数据.gif 因为朋友需要个读取NFC卡片数据的功能,所以最近看了一下Android 系统下NFC 读取卡片信息的操作. NFC(近距离无线通信 ) 是一组近距离无线技术,通常只有在距离不超过 4 厘米时才能启动连接.借助 NFC,您可以在 NFC 标签与 Android 设备之间或者两台 Android 设备之间共享小型负载。 支持 NFC 的 Android 设备同

AOSP学习(一)Ubuntu编译Android13系统源码

前言 做Android应用好多年,一直对AOSP无所知,都不知道什么东西,目前车载那么火,就想介入进去,开始尝试去编译一下系统源码,然后去看了一下Android官网,目前最新的版本还不支持mac和window,只支持ubuntu,去整了个硬盘准备刷个系统,可能是Macmini原因,一直没能成功,很尴尬,最后整了虚拟机。 整个过程挺麻烦的,我下载是Android13最新的源码,因为源码需要翻墙,我用

iPhone14系列导航适配和一些错误纠正

如果你没有使用导航高度来布局一些界面,可以选择不看。 今天在维护项目时发现了一些问题,于是就写下来记录一下。仅在iOS16系统下查看了以下问题 1.项目中的一些错误: #define NAVIGATIONBAR_HEIGHT ([UIDevice currentDevice].isFringeScreen ? 88 : 64) 类似这样的代码,默认刘海屏导航部分的高度为88.这里其实是错误的。

显示框架之SurfaceFlinger GPU合成

对于不支持device合成的layer,SurfaceFlinger会采用GPU来合成,然后与device合成的layer在hwc进行同步再送给屏幕。 在SurfaceFlinger启动的时候就已经搭建好了EGL环境,具体如下: 文件:frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp void SurfaceFlinger:

高性能图片优化方案

目录介绍 01.图片基础概念介绍 1.1 图片占用内存介绍 1.2 加载网络图片流程 1.3 三方库加载图片逻辑 1.4 从网络直接拉取图片 1.5 加载图片的流程 1.6 Bitmap能直接存储吗 1.7 Bitmap创建流程 1.8 图片框架如何设计 02.图片内存计算方式 2.1 如何计算占用内存 2.2 上面计算内存对吗 2.3 一个像素占用内存 2.4 使用API获取内存 2.