火山引擎 RTC 视频性能降级策略解析
1. 背景
随着 RTC 使用场景的不断复杂化,新特性不断增多,同时用户对...
Kotlin异常处理(2)捕获异常
try-catch 语句
try-catch 表达式
多 catch 代码块
try-catch 语句嵌套
...
Android高手笔记-D8, R8编译优化
在之前的文章Android高手笔记-包体积优化中提到过通过编译优化包体积,涉及到了P...
Android MVVM 架构应用实现
以前项目中虽然也使用MVVM架构,但由于整体框架不是我自己搭建的,导致我对于M...
Android 常见获取设备标识方法现状
在最近的开发工作中,有个功能点需要获取设备标识作为用户ID,理想的标识应该是不...
ExoPlayer MediaCodec视频解码Buffer模式支持
一、前言
众所周知,ExoPlayer播放架构中,默认使用MediaCodec框架去解码和渲染。...
如何保证开发交付项目运行稳定性?
项目稳定性关键要素
MMKV for Android 多进程设计与实现
MMKV 是基于 mmap 内存映射的移动端通用 key-value 组件,底层序列化/反序列化...
Android无障碍交互
Android无障碍交互的基础知识以及应用开发中一些常见的问题和修复的建议
抖音 Android 性能优化系列:Java 锁优化
背景
Java 多线程开发中为了保证数据的一致性,引入了同步锁(synchronized)。但...
Android性能调优利器StrictMode
作为Android开发,日常的开发工作中或多或少要接触到性能问题,比如我的Androi...
Android ANR在线监控原理
Android中的Watchdog
在Android中,Watchdog是用来监测关键服务是否发生了死...
拿去吧你!Flutter 仿抖音个人主页下拉拖拽效果
引言
最近产品经理看到抖音的个人主页下拉效果很不错,让我也实现一个,如果是nati...
一文看懂 Compose 强制跳过模式(Strong Skipping Mode)
TD;LR
Jetpack Compose 自 1.5.4 起引入了强制跳过模式(Strong Skipping Mode,简...
Android 12 适配攻略
首语
2022年2月11日,谷歌发布了首个 Android 13 开发者预览版。2022年7月,发...
实践 | Google I/O 应用是如何适配大尺寸屏幕 UI 的?
5 月 18 日至 20 日,我们以完全线上的形式举办了 Google 每年一度的 I/O 开发...
2023年 9款跨平台应用程序开发框架
什么是跨端框架?
概念:跨平台应用开发框架是开发人员可以使用一套相同的代码...