Android Framework 核心基础的学习路线图
1. 为什么要学习 Android Framework?
作为一名应用层 App 开发工程师,我们为...
Android OpenGLES 3.0 开发系统性学习教程
基础篇
OpenGL ES 3.0 开发(01):绘制一个三角形
OpenGL ES 3.0 开...
Android FFmpeg 音视频开发极简教程
Android FFmpeg 音视频开发系列连载
FFmpeg 开发(01):FFmpeg 编译和...
Android TabLayout总结
TabLayout基本属性:
- background:背景颜色
- tabTextColor:默认文本颜色
- ta...
kotlin list常用操作符
下标操作类
contains —— 判断是否有指定元素
elementAt —— 返回对应的元...
Tablayout设置item间距
/**
* 设置tablayout下划线根据文字宽度而改变
* @param tabLayout
*...
Android理解ANR
1、 前言
在上一篇文章《Android性能优化(六)之卡顿那些事》中,我们提到了卡...
Android ANR分析(trace文件的产生流程)
ANR信息获取(trace文件的产生流程)
首先收集需要dump trace的进程并给对应...
路由架构梳理
本文整理一下WMRouter的基本路由逻辑,并剖析相关路由类的设计。
基本元素
...
插件化
目前市面上有许多Android插件化方案。每种方案都有各自的实现思路。而且随着Googl...
插件守护进程模型
Replugin与VirtualApk很大的一个不同就是: 对于插件的管理,它支持单独开辟一个...
进程间的同步
在看Replugin源码时,发现在对插件apk文件解析之前,对这个文件加了一个ProcessL...
解决插件资源ID与宿主冲突的问题
为什么会冲突?为什么要解决资源id冲突?
首先宿主apk和插件apk是两个不同的ap...
插件Service的运行管理
Service启动的大体流程
我们从ContextImpl.startService()开始看。 为什么从这...
插件Activity的启动
在上一节分析中,我们已经知道宿主已经加载了插件的资源、类。也就是说在宿主中是...
PathClassLoader与DexClassLoader到底有什么不同
先说一下为什么要抛出这个问题吧?
最近在看插件化相关的技术,因此会涉及到插...
插件APK的解析
插件apk中resource访问
插件化技术应该实现: 对于插件中的资源在插件中仍然可...
kotlin的扩展函数“let、run、also、apply”的作用和区别
记录一下四个扩展函数的区别,使用经常记不住:Kotlin的扩展函数let、run、also、...