Android共406篇 第8页
Android

1.基于Dagger2.38.1版本源码理解hilt注解 – 总结篇

前言 本章是基于Dagger2.38.1源码去理解hilt源码,在理解hilt源码之前一定要对dagger的用法有一定深入的了解。 hilt我个人的理解是专门为Android设计的一款简化的Dagger。 所以我们虽然使用了hi...
admin的头像-五八三admin2年前
0100
游戏优化系列三:Unity游戏的黑屏问题解决方法-五八三

游戏优化系列三:Unity游戏的黑屏问题解决方法

作者 大家好,我叫Jack冯; 本人20年硕士毕业于广东工业大学,于2020年6月加入37手游安卓团队;目前主要负责海外游戏发行安卓相关开发。 系列目录 游戏优化系列一:海外谷歌应用适配相关 游戏优...
admin的头像-五八三admin2年前
0100

使用NumberPicker实现一个滑轮日期选择器

在许多移动应用程序中,日期选择是常见的用户交互需求。本文将介绍如何使用Android中的NumberPicker控件,以一种简单而直观的方式实现滑轮式的日期选择器。无论您是构建日历应用、预约系统还是...
admin的头像-五八三admin2年前
0100
JNI 编程上手指南之多线程-五八三

JNI 编程上手指南之多线程

核心要点 JNI 环境下,进行多线程编程,有以下两点是需明确的: JNIEnv 是一个线程作用域的变量,不能跨线程传递,每个线程都有自己的 JNIEnv 且彼此独立 局部引用不能在本地函数中跨函数使用,...
admin的头像-五八三admin2年前
0100
我要给网页端同学完整的WebRTC环境-五八三

我要给网页端同学完整的WebRTC环境

一、背景 为了节约开发成本,有时也为了可以和小程序开发同步,移动端的一些业务常常交给网页端的同学去做,原生则负责为网页端同学提供一个稳定,可靠的WebView环境,必要时,还要给网页端同学...
admin的头像-五八三admin2年前
090
每日记录自己的Android项目(一)——UI界面-五八三

每日记录自己的Android项目(一)——UI界面

Jetpack之Navigation初遇 今天新创建一个项目,选的是这个。 首先映入眼帘的是一个这样的界面。 由ViewBinding绑定好XML布局和根布局和标题栏。 还有个字段 private AppBarConfiguration appBar...
admin的头像-五八三admin2年前
090
Android架构灵魂组件Lifecycle的生命周期机制详解-五八三

Android架构灵魂组件Lifecycle的生命周期机制详解

前言:写作就跟生活一样,是一趟发现之旅。 前言 在早期 Andorid 架构中,生命周期的事件监听和状态查询,我们需要自定义一套提供侦测功能的 Activity/Fragment 基类及回调接口,在 Activity/Fr...
图解 Binder:AIDL-五八三

图解 Binder:AIDL

这是一系列的 Binder 文章,会从内核层到 Framework 层,再到应用层,深入浅出,介绍整个 Binder 的设计。详见《图解 Binder:概述》。 本文基于 Android platform 分支 android-13.0.0_r1 和内...
admin的头像-五八三admin2年前
090
Android ART虚拟机系列: 虚拟机CheckPoint机制分析-五八三

Android ART虚拟机系列: 虚拟机CheckPoint机制分析

背景 在Android ART虚拟机中,GC的部分流程中会执行stop the world的操作,那么,STW在虚拟机中如何实现呢?本文就深入到ART虚拟机源码中,探寻STW的实现过程。 【本文基于android12源码分析】 ...
admin的头像-五八三admin2年前
090
做个ChatGPT的App玩玩儿-五八三

做个ChatGPT的App玩玩儿

前言 前段时间比较闲,正好chatGpt风头很大,想着瞅瞅做个App玩玩儿,找遍全网都没看到类似Android的实现,没办法只能自己去看文档了,还能写篇文章啥的 直到我点开文档才知道。。。好家伙,这...
admin的头像-五八三admin2年前
090
JNI 编程上手指南之 JNI 调用性能优化-五八三

JNI 编程上手指南之 JNI 调用性能优化

为什么要做性能优化 Java 程序中,调用一个 Native 方法相比调用一个 Java 方法要耗时很多,我们应该减少 JNI 方法的调用,同时一次 JNI 调用尽量完成更多的事情。对于过于耗时的 JNI 调用,应...
admin的头像-五八三admin2年前
090
图解 Binder:概述-五八三

图解 Binder:概述

Android 的 Binder 机制是一种独特的跨进程通信(IPC)系统,在整个Android系统中都发挥着至关重要的作用。这种机制在操作系统的内核层、 Android 框架层(Framework)以及应用程序的 Java 层都...
admin的头像-五八三admin2年前
090
写一个SVGView,并上传到Maven上-五八三

写一个SVGView,并上传到Maven上

上文主要写了自定义View的一些基础,这篇文章主要自定义了SVGView,也算是对上篇文章的巩固,事件的起因是开发APP的时候有一个人体图,可以标注出各个区域的疼痛程度,所以第一时间想到了使用SV...
admin的头像-五八三admin2年前
090

Android-策略模式与状态模式:形似而行不似

引言: 在软件开发中,我们经常面临着需求的变化和复杂的业务逻辑。为了解决这些问题,设计模式应运而生。其中,策略模式和状态模式是两种常用的设计模式。本文将带你走进它们的世界,一起探索...
Jetpack Compose(第二趴)——Compose 基础知识(上)-五八三

Jetpack Compose(第二趴)——Compose 基础知识(上)

一、准备工作 JetPack Compose是一款新型工具包,旨在帮助简化界面开发。该工具包将响应式编程模型与简洁易用的Kotlin编程语言相结合,并采用完全声明式的代码编写方式,让您可以通过调用一些列...
admin的头像-五八三admin2年前
090

Android属性动画的高级技巧

在 Android 开发中,属性动画是非常常见的一种动画方式。它可以让我们实现各种复杂的动画效果,比如旋转、缩放、移动、渐变等。那么,Android 属性动画是如何实现的呢?本文将从原理的角度来介...
Kotlin inline内联函数-五八三

Kotlin inline内联函数

Kotlin inline内联函数 今天介绍下 Kotlin 中 非常重要的 内联函数,小伙伴系紧鞋带准备发车 普通函数调用 下面测试整数相加的情况 fun calculate() { println(add(a = 1, b = 3)) } fun add(a:...
admin的头像-五八三admin2年前
090

Android-我对代理模式的理解

以下业务场景不大现实,我这里只是提供一种思路 想象一种场景:有一天,产品经理让你记录某些地方的行为日志并且存储到本地方便查阅,你可能会写下如下代码: interface ILogger { fun logInfo(a...
admin的头像-五八三admin2年前
090
uiautomator2 源码阅读(一):项目结构-五八三

uiautomator2 源码阅读(一):项目结构

uiautomator2 是一个通过 python 对 Android 设备进行 UI 自动化测试的框架,事实上由于手机设备端测试的一些复杂性,我们在 UI 自动化的场景下,能做什么,不能做什么,实际上的动作是怎么实现...
admin的头像-五八三admin2年前
090

Kotlin协程 – 原理探索(一)

1. 协程解决了什么问题? 用协程也有一段时间了,但是关于协程具体到底怎么运作的这件事上,处于一种懂了但是又好像没懂的情况,但是协程解决什么事情倒是很明确。 我们先举个Android日常开发会...
admin的头像-五八三admin2年前
090