Android共406篇 第14页
Android
Android开发中的MVC_MVP_MVVM-五八三

Android开发中的MVC_MVP_MVVM

前言 MVC、MVP和MVVM是Android开发中常见的架构模式,这三种架构模式都有其独特的优点和适用场景。它们可以帮助开发者更好地组织和管理代码,提高应用程序的可维护性和可测试性,同时也能够提升...
admin的头像-五八三admin2年前
080
图解 Binder:概述-五八三

图解 Binder:概述

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

图解 Binder:事务

这是一系列的 Binder 文章,会从内核层到 Framework 层,再到 Java 层,深入浅出,介绍整个 Binder 的设计。详见《图解 Binder:概述》。 本文基于 Android platform 分支 android-13.0.0_r1 和...
admin的头像-五八三admin2年前
040
Kotlin特性实现高拓展性Logger-五八三

Kotlin特性实现高拓展性Logger

前言 在Android中记录日志一般是使用Android自带的Log工具, 但是实际项目中,我们经常需要统一控制项目的日志开关或过滤等级,有时还需要将日志写入到文件中。 目前除了自己实现外,基本都是通...
admin的头像-五八三admin2年前
040
uiautomator2 源码阅读(四):主应用 - Service-五八三

uiautomator2 源码阅读(四):主应用 – Service

本节涉及部分:([○] 本节覆盖,[√] 为前面已覆盖,[×] 为确认废弃) app/src/ ├── androidTest │   └── java │   └── com │   └── github │   └── uiautomator ...
admin的头像-五八三admin2年前
0420
Android中Hilt的使用-五八三

Android中Hilt的使用

Hilt 是 Android 的依赖项注入库,可减少在项目中执行手动依赖项注入的样板代码。执行手动依赖项注入要求您手动构造每个类及其依赖项,并借助容器重复使用和管理依赖项。 Hilt 通过为项目中的每...

匿名内部类为什么泄漏,Lambda为什么不泄漏

在Android开发中,内存泄露发生的场景其实主要就两点,一是数据过大的问题,而是调用与被调用生命周期不一致问题,对于对象生命周期不一致导致的泄漏问题占90%,最常见的也不好分析的当属匿名内...
一文详解IPv4与IPv6协议-五八三

一文详解IPv4与IPv6协议

前段时间的工作大多与通信协议相关,随着协议相关工作的不断深入,相关数据包的分析占据了不少工作时间。在数据报文分析中,发现大学期间IP协议内容已经重新还给了老师,相关知识完全没有了印象...
admin的头像-五八三admin2年前
050
BrickUI,基于Android View体系撸一个声明式UI框架-五八三

BrickUI,基于Android View体系撸一个声明式UI框架

主流移动端新框架都在搞声明式UI 现代的移动应用UI开发框架,如Compose,Flutter,iOS的SwiftUI等都不约而同的使用了声明式UI的编程范式,这一类框架往往通过状态来驱动UI变化,UI代码主要描述...
admin的头像-五八三admin2年前
060

Android使用Koin依赖项注入 – 第二弹

The pragmatic Kotlin & Kotlin Multiplatform Dependency Injection framework 实用的Kotlin和Kotlin多平台依赖注入框架 Android Studio环境为 Android Studio Flamingo | 2022.2.1 Koin的...
admin的头像-五八三admin2年前
0100
写一个SVGView,并上传到Maven下-五八三

写一个SVGView,并上传到Maven下

上文主要写了去定义了一个SVGView,没看过可以看一下 # 写一个SVGView,并上传到Maven上 接下来如何上传到maven上面,供大家使用呢,其实在Gradle文件中导入的依赖本质上是一个AAR包,不过是这...
admin的头像-五八三admin2年前
080

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

引言: 在软件开发中,我们经常面临着需求的变化和复杂的业务逻辑。为了解决这些问题,设计模式应运而生。其中,策略模式和状态模式是两种常用的设计模式。本文将带你走进它们的世界,一起探索...
Android:涂鸦工具关于旋转的优化-五八三

Android:涂鸦工具关于旋转的优化

我正在参加「掘金·启航计划」,这是我参加的第1篇文章。 前段时间比较闲,参加了掘金日新计划更文活动,至今已快三个月了。如今再次提笔,我就来分享下在这之间学习到的新技能,既是记录自己知...
预热 - CPU 一文解决你所有疑问-五八三

预热 – CPU 一文解决你所有疑问

本文是个意外,就像有时候忘了那啥一样,纯属意外,大家看个热闹,就当个预热吧,打算写这部分的,内容太多了,看资料看的头疼 本文源于一个 JY 对于 volatile 可见性的疑问,下面是我的作答: ...
插件化工程R文件瘦身技术方案 | 京东云技术团队-五八三

插件化工程R文件瘦身技术方案 | 京东云技术团队

随着业务的发展及版本迭代,客户端工程中不断增加新的业务逻辑、引入新的资源,随之而来的问题就是安装包体积变大,前期各个业务模块通过无用资源删减、大图压缩或转上云、AB实验业务逻辑下线或...
admin的头像-五八三admin2年前
050
JNI 编程上手指南之 JNIEnv 详解-五八三

JNI 编程上手指南之 JNIEnv 详解

1. JNIEnv 是什么 JNIEnv 即 Java Native Interface Environment,Java 本地编程接口环境。JNIEnv 内部定义了很多函数用于简化我们的 JNI 编程。 JNI 把 Java 中的所有对象或者对象数组当作一个...
admin的头像-五八三admin2年前
040
Android 14 之返回界面升级:预览目标界面 + 全新返回箭头-五八三

Android 14 之返回界面升级:预览目标界面 + 全新返回箭头

Android 13 的版本里 Android 就针对返回导航进行了大量更改,包括: 废弃原有的 KEYCODE_BACK KeyEvent 提供 Manifest 属性 enableOnBackInvokedCallback 以配置是否应用全新的 Back 导航特性 ...

Android-apk动态加载研究

前言 近期工作中遇到两个问题。 换应用皮肤 加载插件apk中的view Android 换肤技术一文中已经详细说明了如何进行应用换肤。而加载插件apk中的view,利用前文提到的换肤技术,居然无法实现!仔细...
admin的头像-五八三admin2年前
0340

从Kotlin中return@forEach了个寂寞

今天在Review(copy)同事代码的时候,发现了一个问题,想到很久之前,自己也遇到过这个问题,那么就来看下吧。首先,我们抽取最小复现代码。 (1..7).forEach { if (it == 3) { return@forEach ...
admin的头像-五八三admin2年前
030
Compose Desktop展现一场雨过天晴-五八三

Compose Desktop展现一场雨过天晴

最近这天气就跟产品的需求一样变化无常,经常早上进地铁站之前就下一场大雨,然后等出了地铁站以后,雨就停了,甚至有时候会直接出太阳,不愧是魔都的天气,有个性,有想法,那么这次我就打算用...