volatile 和 synchronized 的区别
Hi 大家好,我是 DHL,大厂程序员,公众号:ByteCode ,在美团、快手、小米工作过...
Okio原理分析之简介
大家好,又见面了,我是你们的朋友全栈君。
Okio是一个实现java.io和java.nio...
Jetpack系列-Navigation使用和源码分析
1 简介
Navigation是Android Jetpack中的一个框架,用于在Android应用中的“目...
android类似QQ空间,微信朋友圈,微博主页源码
类似QQ空间,微信朋友圈,微博主页等,展示图片的九宫格控件,自动根据图片的数量确定图片大小和控件大小,使用Adapter模式设置图片,对外提供接口回调,使用接口加载图片,支持任意的图片加载框架,如 Glide,ImageLoader,Fresco,xUtils3,Picasso 等,支持点击图片全屏预览大图
Coil compose 设置文件缓存位置
Coil 默认会有一个 ImageLoader,设置的磁盘缓存文件路径为/data/data/<包名>...
解决插件资源ID与宿主冲突的问题
为什么会冲突?为什么要解决资源id冲突?
首先宿主apk和插件apk是两个不同的ap...
如何深入掌握 Android Binder
0. 为什么要深入学习 Binder
Binder 是整个 Android 的基石
所有的系统服...
Jetpack使用(四)ViewModel核心原理
ViewModel其实是和前面说的LiveData一起组合使用的,引用官方的一句话:ViewModel...
AOSP添加配置文件与删除已有模块
本文基于 AOSP Android10_r41 源码环境。
1. 添加配置文件
PRODUCT_COPY_FI...
我终于搞懂了async/await、promise和setTimeout的执行顺序
今天看到一道面试题,是关于async/await、promise和setTimeout的执行顺序,题...
Tina_Linux_功耗管理_开发指南
Tina Linux 功耗管理开发指南
1 概述
1.1 编写目的
简要介绍tina 平台功...
GapWorker导致RecyclerView视频播放声音残留问题
场景描述
App 有两个tab,每一个都是Fragment,以FragmentA和FragmentB 代称...

