排序
JNI 编程上手指南之 JavaVM 详解
JavaVM 是什么? JavaVM 是一个结构体,用于描述 Java 虚拟机。 一个 JVM 中只有一个 JavaVM 对象。在 Android 平台上,一个 Java 进程只能有一个 ART 虚拟机,也就是说一个进程只有一个 JavaVM...
Android Retrofit 给你的接口加上缓存
转载请注明出处:juejin.cn/post/724417… 本文出自 容华谢后的博客 0.写在前面 最近要对接口做一些优化,于是就想着给一些频繁获取数据的接口加上缓存功能,网上搜上一搜,一般都只支持GET请求...
Android:自定义View实现签名带笔锋效果
我正在参加「掘金·启航计划」,这是我参加的第2篇文章。 自定义签名工具相信大家都轻车熟路,通过监听屏幕onTouchEvent事件,分别在按下(ACTION_DOWN)、抬起(ACTION_UP)、移动(ACTION_MOV...
Android中Room的使用
Room 持久性库在 SQLite 上提供了一个抽象层,以便在充分利用 SQLite 的强大功能的同时,能够流畅地访问数据库。具体来说,Room 具有以下优势: 针对 SQL 查询的编译时验证。 可最大限度减少重...
图解 Binder:线程池
这是一系列的 Binder 文章,会从内核层到 Framework 层,再到 Java 层,深入浅出,介绍整个 Binder 的设计。详见《图解 Binder:概述》。 本文基于 Android platform 分支 android-13.0.0_r1 和...
浅析一下:kotlin委托背后的实现机制
大家好,kotlin的属性委托、类委托、lazy等委托在日常的开发中,给我们提供了很大的帮助,我之前的文章也是有实战过几种委托。不过对比委托实现的背后机制一直都没有分析过,所以本篇文章主要是...
Kotlin inline内联函数
Kotlin inline内联函数 今天介绍下 Kotlin 中 非常重要的 内联函数,小伙伴系紧鞋带准备发车 普通函数调用 下面测试整数相加的情况 fun calculate() { println(add(a = 1, b = 3)) } fun add(a:...
一篇文章带你学会Kotlin
都2023年了,新建的项目还是Java项目,或者你还在写Java样式的Kotlin项目,仔细看完这篇文章,带你从Java转到Kotlin,带你学会Koltin,从入坑到脱坑 为什么要学习Kotlin Kotlin是Andorid官方推...
个人桌面版ChatGPT——ChatPTQ【Compose Desktop试水】
最近学习之余注意到了Compose MultiPlatform,然后就想试试水,正好最近越来越依赖ChatGPT,这东西是真香啊,但是总觉得每次都要找套壳网站,想用还得打开浏览器,我很懒 ̄へ ̄,然后我大概找了...
Android开发中的MVC_MVP_MVVM
前言 MVC、MVP和MVVM是Android开发中常见的架构模式,这三种架构模式都有其独特的优点和适用场景。它们可以帮助开发者更好地组织和管理代码,提高应用程序的可维护性和可测试性,同时也能够提升...
MediaCodec转码输出AAC HE格式音频 采样率异常
问题描述 在处理视频转码时,也对音频做了转码。不知为何项目代码里使用了AAC HE的输出格式: MediaFormat outputFormat = MediaFormat.createAudioFormat(MediaFormat.MIMETYPE_AUDIO_AAC, sam...
图解 Binder:事务
这是一系列的 Binder 文章,会从内核层到 Framework 层,再到 Java 层,深入浅出,介绍整个 Binder 的设计。详见《图解 Binder:概述》。 本文基于 Android platform 分支 android-13.0.0_r1 和...
图解 Binder:概述
Android 的 Binder 机制是一种独特的跨进程通信(IPC)系统,在整个Android系统中都发挥着至关重要的作用。这种机制在操作系统的内核层、 Android 框架层(Framework)以及应用程序的 Java 层都...
Kotlin特性实现高拓展性Logger
前言 在Android中记录日志一般是使用Android自带的Log工具, 但是实际项目中,我们经常需要统一控制项目的日志开关或过滤等级,有时还需要将日志写入到文件中。 目前除了自己实现外,基本都是通...
匿名内部类为什么泄漏,Lambda为什么不泄漏
在Android开发中,内存泄露发生的场景其实主要就两点,一是数据过大的问题,而是调用与被调用生命周期不一致问题,对于对象生命周期不一致导致的泄漏问题占90%,最常见的也不好分析的当属匿名内...
预热 – CPU 一文解决你所有疑问
本文是个意外,就像有时候忘了那啥一样,纯属意外,大家看个热闹,就当个预热吧,打算写这部分的,内容太多了,看资料看的头疼 本文源于一个 JY 对于 volatile 可见性的疑问,下面是我的作答: ...
Android:涂鸦工具关于旋转的优化
我正在参加「掘金·启航计划」,这是我参加的第1篇文章。 前段时间比较闲,参加了掘金日新计划更文活动,至今已快三个月了。如今再次提笔,我就来分享下在这之间学习到的新技能,既是记录自己知...
JNI 编程上手指南之 JNIEnv 详解
1. JNIEnv 是什么 JNIEnv 即 Java Native Interface Environment,Java 本地编程接口环境。JNIEnv 内部定义了很多函数用于简化我们的 JNI 编程。 JNI 把 Java 中的所有对象或者对象数组当作一个...
插件化工程R文件瘦身技术方案 | 京东云技术团队
随着业务的发展及版本迭代,客户端工程中不断增加新的业务逻辑、引入新的资源,随之而来的问题就是安装包体积变大,前期各个业务模块通过无用资源删减、大图压缩或转上云、AB实验业务逻辑下线或...
Android中Hilt的使用
Hilt 是 Android 的依赖项注入库,可减少在项目中执行手动依赖项注入的样板代码。执行手动依赖项注入要求您手动构造每个类及其依赖项,并借助容器重复使用和管理依赖项。 Hilt 通过为项目中的每...