Android Zygote 启动流程
Android系统包含netd、servicemanager、surfaceflinger、zygote、media、installd...
Flutter和原生Android控件对比
Flutter和原生Android控件对比:
Flutter控件
Android控件
AppBar
ActionBa...
okhttp核心原理分析(1)
文章思维导图
前言
进行 okhttp 的核心源码分析,必须要搞清楚 http 协...
Android设计模式源码解析之模板方法模式
1. 模式介绍
模式的定义
定义一个操作中的算法的框架,而将一些步骤延迟到...
Android的UI显示原理之Surface的创建
本文是Android视图层源码分析系列第二篇文章,通过上一篇文章已经了解到WindowMan...
Android Jetpack系列–3.ViewModel使用及源码解析
ViewModel
LiveData和ViewModel是一对好搭档
定义
视图模型,以感知生命周...
Livedata原理
1. Livedata特性
LiveData 是一种可观察的数据存储器类。并且具有生命周期感知能力...
Android Navigation 如何动态的更换StartDestination &&保存Fragment状态
Navigation使用方法
1. 创建navigation
首先在我们Module下的res 右键,创...
Android app唤醒第三方地图App进行导航(高德,百度,腾讯)
根据项目需要 要添加导航功能 由于我的app 的内部已经做了地图和路线规划 同时为...
kotlin泛型
泛型使用方法
在类上使用泛型
类上面使用泛型,需要把泛型声明在类名后...
Gradle 编写及整个构建详解
本文不会太具体讲编写Gradle插件中用到的API,只是大致梳理一下如何编写一个Gr...
JNI 编程上手指南之 JNI 数据类型
1. 数据类型
JNI 程序中涉及了三种数据类型,分别是:
Java 类型
JNI ...
Binder 多线程分析
1. Native 层多线程分析
1.1 客户端线程相关初始化
在 [Binder 程序示例之C...
GapWorker导致RecyclerView视频播放声音残留问题
场景描述
App 有两个tab,每一个都是Fragment,以FragmentA和FragmentB 代称...
【Android】分层架构设计
Android 是一种基于 Linux 的开放源代码软件栈,主要应用于ARM平台,但不仅限...
Android实现灰度模式
App快速实现“哀悼主题”方案方式一:全局设置灰白模式:
@Override
protect...
Android 15适配Android6到Android 15重点适配
1、安卓6到安卓15适配主要内容:①②③④⑤⑥⑦⑧⑨
Android 6: 新增运行时权限,区分普通权...