Android FFmpeg 音视频开发极简教程
Android FFmpeg 音视频开发系列连载
FFmpeg 开发(01):FFmpeg 编译和...
ReentrantLock原理分析
ReentrantLock是Java并发包中提供的一个可重入的互斥锁,它拥有与synchronized...
微信Android增量Proguard方案
背景
随着业务的快速发展,Release构建速度问题不断凸显,从2020年底构建50mi...
Python+Appium自动化完整教程
前言
Appium是一款强大的开源自动化测试工具,专为移动应用设计。它支持原生、混合...
JNI 编程上手指南之 JavaVM 详解
JavaVM 是什么?
JavaVM 是一个结构体,用于描述 Java 虚拟机。
一个 JVM ...
Android Service的启动过程
此前我用较长的篇幅来介绍Android应用程序的启动过程(根Activity的启动过程)...
Android 基于Kotlin Flow实现一个倒计时功能
简单示例:
flow {
log("send hello")
emit("hello") //发送数据
...
Android的离奇陷阱 — 设置线程优先级导致的微信卡顿惨案
Android上如果在主线程执行下面的代码:
Thread t = new Thread();t.start();...
Android车载应用开发与分析(11)- 车载Android应用开发入门指南
1. 前言 - 移动互联网退潮下的汽车大战
将时间回退到2017年我大学刚毕业时,彼...
SeAndroid 使用极速上手
1. 基本概念
SEAndroid 是一种安全系统,相关的概念和术语对于初学者来说都相...
微信iOS多设备多字体适配方案总结
一、背景
2014下半年,微信iOS版先后适配iPad, iPhone6/6plus。随着这些大屏...
GitHub标星28W的超神项目,技术人必学!一个项目搞定所有技能(不收藏后悔!)
大家好,我是大白,每天给大家分享IT前沿知识、代码、项目~
今天给大家分享的是gi...
【Android】Jetpack Compose 环境配置
Android开发配置Jetpack Compose环境踩坑笔记
根目录 build.gradle
配置...
Kotlin 中List集合,Set集合,Map集合,数组的详解
1、创建不可变List集合
fun main() {
val list = listOf("Jason", "Jack...

