Android共0篇
Android
高德Android高性能高稳定性代码覆盖率技术实践-五八三

高德Android高性能高稳定性代码覆盖率技术实践

​前言 代码覆盖率(Code coverage)是软件测试中的一种度量方式,用于反映代码被测试的比例和程度。 在软件迭代过程中,除了应该关注测试过程中的代码覆盖率,用户使用过程中的代码覆盖率也是一...
admin的头像-五八三admin2年前
0180
一文理解贝塞尔曲线-五八三

一文理解贝塞尔曲线

贝塞尔曲线的来源 贝塞尔曲线最早是由贝塞尔在1962年提出来的,目的是获取汽车的外形。贝塞尔曲线看上去非常复杂,其实想法非常简单,(如下图1所示)就是先用折线先绘制出大致的轮廓,然后用曲...
admin的头像-五八三admin2年前
0580
aosp-刷入Magisk面具获取root权限-五八三

aosp-刷入Magisk面具获取root权限

一、简介 话说上次root手机都已经是初中的时候了,那时候捣鼓手机不亦乐乎,Android4.4的系统先解锁,再刷入第三方Recovery,然后再刷入Root包去获取Root权限 想学点逆向的知识,所以要root一下...
admin的头像-五八三admin2年前
02100

Android View绘制原理 – RenderNodeDrawable

上一篇文章介绍了SkiaOpenGLPipeline.draw主流程,其中renderFrame是一个主要的流程之一,本文将继续去分析这个renderFrame方法。这个方法是定义在SkiaOpenGLPipeline的父类SkiaPipeline上frame...
admin的头像-五八三admin2年前
0130

[kotlin]-Flow 基础

什么是Flow 官方介绍 一种异步数据流,它顺序地发出值并正常或异常地完成。 流上的中间运算符(例如map、filter、take、zip等)是应用于上游流或流并返回下游流的函数,可以在其中应用更多运算...
admin的头像-五八三admin2年前
0140

Android性能优化—-执行时间优化

Android性能优化----启动优化 在了解了启动优化后,Application会做一些初始化的工作,但不要在Application中做耗时操作,然而有些初始化工作可能是很耗时的,那怎么办?初始化操作可以开启子线...
admin的头像-五八三admin2年前
0140
Vol.12 InputManagerService 与输入事件-五八三

Vol.12 InputManagerService 与输入事件

这块是对《深入理解andriod内核设计思想》相关章节的总结和拓展, 这本书写的也非常的好,很推荐! 12.1 事件的分类 按键事件(keyEvent) 触摸事件(TouchEvent) 鼠标事件(MouseEvent) .........
admin的头像-五八三admin2年前
0180
Android JNI 开发示例-五八三

Android JNI 开发示例

JNI 简介 JNI 是一种框架,它提供了一组接口,这些接口帮助 Java 代码调用其他语言写的代码,如 C, C++ 等。这种方式对于那些需要在 Java 中使用高性能或者底层系统调用的应用程序尤其有用。 JN...
admin的头像-五八三admin2年前
0150
使用WorkManager在后台处理工作 - Kotlin(下)-五八三

使用WorkManager在后台处理工作 – Kotlin(下)

六、串连各个步骤 现在,您将执行一项工作任务:对图片进行模糊处理。这是非常不错的第一步,但缺少一些核心功能: 此操作不会清理临时文件 实际上它不会将图片保存到永久性文件中 而是始终对图...
admin的头像-五八三admin2年前
090
Jetpack Compose - 通过State理解与管理你的UI-五八三

Jetpack Compose – 通过State理解与管理你的UI

由于 Compose 是声明式工具集,因此更新它的唯一方法是通过新参数调用同一可组合项。这些参数是界面状态的表现形式。每当状态更新时,都会发生重组。 本篇文章将从导图中五方面分别介绍State的...
admin的头像-五八三admin2年前
0100

Android12 AlarmManagerService底层解析及开机闹钟

最近项目中需要为一个硬件实现定时开机的功能,借此机会把AlarmManagerService从上层到底层的流程给梳理了一遍。 首先在应用层只能使用AlarmManager与AlarmManagerService进行通信,就不在此赘...
admin的头像-五八三admin2年前
0150

Android原生系统SystemUI启动流程–SystemUI学习进度(一)

SystemUI 启动流程 启动流程主要有两个部分 在 framework 中启动 SystemUIService 在 SystemUIService 中启动 SystemUI 所需的各种组件 SystemUI 是一个系统应用,即为一个apk。所以它也会有入...
admin的头像-五八三admin2年前
0870

是否应该将Compose中的状态切分

如题,为什么会有这种疑问呢? 我们知道Compose是通过重组来刷新UI的,当一个State发生改变时,其对应的可重组函数的Lambda会重新执行,而我们通常在设计State时都是将当前界面相关属 combine成...
admin的头像-五八三admin2年前
080

RecyclerView之AsyncListDiffer

一、ListAdapter 当数据量不大时,我们可以在UI线程中直接更新数据,但是当数据量大时这就比较尴尬了,我们需要自己放在子线程操作,然后再回UI线程更新页面。在7.0上引入 DiffUtil 之后,现在 ...
admin的头像-五八三admin2年前
0220
flutter lottie animation progress bar 美丽多彩生动的动画进度条-五八三

flutter lottie animation progress bar 美丽多彩生动的动画进度条

flutter lottie animation progress bar 美丽多彩生动的动画进度条  flutter支持使用lottie动画,有了lottie,我们也可以在flutter中实现很多炫酷的动画效果,这次为我们就来学习使用lottie动...
admin的头像-五八三admin2年前
0720
Java 调用 Native 服务-五八三

Java 调用 Native 服务

本文介绍一下怎么通过 Java 代码使用 Native Binder Service。 接下来我们演示使用 Java 代码访问 Binder 程序示例之 aidl-cpp 篇 编写的 Native Binder Service。 在 device/jelly/rice14 目录...
admin的头像-五八三admin2年前
0200
【Gradle-8】Gradle插件开发指南-五八三

【Gradle-8】Gradle插件开发指南

1、前言 Gradle插件开发在Android进阶知识中是占有一定比例的,特别是在性能优化领域,基本都会涉及,而且跟我们日常的编译打包也息息相关,加上有不少招聘要求里也明确要有Gradle插件开发经验...
admin的头像-五八三admin2年前
080
鸿蒙ArkUI如何开发跨平台应用?-五八三

鸿蒙ArkUI如何开发跨平台应用?

一、前言 提到跨平台,要先理解什么是“平台”,这里的平台,就是指应用程序的运行环境,例如操作系统,或者是Web浏览器,具体的像HarmonyOS、Android、iOS、或者浏览器,都可以叫做平台。 跨平...
admin的头像-五八三admin2年前
0540

Compose 1.5来了,升吗?

Compose 终于迎来了 1.5.0 的稳定版本。这个版本的 API 变化不大,官方主要是做了大量的性能优化工作和降低内存占用。 API 新增与变更 首先,官方提供了 mutableIntStateOf、mutableLongStateOf...
admin的头像-五八三admin2年前
0190
Flutter:简单搞一个内容高亮-五八三

Flutter:简单搞一个内容高亮

内容高亮并不陌生,特别是在搜索内容页面,可以说四处可见,就拿掘金这个应用而言,针对某一个关键字,我们搜索之后,与关键字相同的内容,则会高亮展示,如下图所示: 如上的效果,在Flutter当...
admin的头像-五八三admin2年前
080