Hello,world


  • Home

  • Archives

高级Android知识体系-持续更新中

Posted on 2021-12-28
自己整理的 Android 知识体系,持续更新中
Read more »

Android 各版本迭代差异

Posted on 2021-12-10
作为一个 Android 开发者,了解Android 系统各个版本的变更,是再基础不过的要求了。毕竟,适配也是我们日常的工作之一,面试时面试官也喜欢问类似的题目。 Android 12Android 12 API 31 行为变更 用户体验 拉伸滚动效果 应用启动画面 网络 intent 解析 沉浸模式下的手势导航改进 Display#getRealSize 和 getRealMetrics:废弃和限制 多窗口模式下的所有应用 大屏设备上 ...
Read more »

Android gradle.kts迁移

Posted on 2021-12-09
随着 Gralde 和 kotlin 的迭代,Android Studio 里已经可以使用 kotlin 代替 groovy, 纯 kotlin 开发,dsl 特性在配置工作上更好理解,提示也比较友好。 gradle.kts 目前还有一个明显的缺点,构建效率比 groovy 低,但后续应该会做优化 Task 配置依赖插件管理插件管理平时我们 gradle 项目里使用的 application,library插件,在 plugin 代码 ...
Read more »

Android热修复方案

Posted on 2021-02-11
Android 热修复方案已经出来多年了,根据实现方式看,基本上离不开以下两种: 方案调研 底层替换方案: 底层替换方案限制颇多,但时效性最好,加载轻快,立即见效 AndFix Sophix … 类加载方案: 类加载方案时效性差,需要重新冷启动才能见效,但修复范围广,限制少 QZone超级补丁 微信Tinker … 以现有的方案对比, 支撑/方案 Tinker QZone AndFix Robust 类替换 ...
Read more »

Android类加载机制

Posted on 2021-02-06
学习 Android 的类加载机制前,需要具备以下两个知识点 Java 的类加载机制 Java反射 CLassLoader我们知道,Android 虚拟机是 Dalvik/ART VM。Dalvik/ART,加载类和资源也是要用到ClassLoader,不过 Jvm 通过 ClassLoader 加载的 class 字节码,而 Dalvik/ART VM 通过ClassLoader 加载则是 dex。 Android 的类加载器分为 ...
Read more »

framework学习のWMS服务

Posted on 2021-01-26
Window简介Android中,Window是一个重要部分,用户看到的界面、触摸显示界面进行一系列操作都涉及到Window。但实际上,Window本身并不具备绘制功能。该篇简单介绍下Window的一点内容,同时总结下WMS的启动过程。在下篇会逐步介绍一个Activity是如何创建出窗口 并 添加到WMS中的。该篇基于Andorid10的代码。 窗口涉及到一下几个功能: 窗口管理-WMS: WMS管理窗口的创建、添加、删除、大小、层级 ...
Read more »

Handler Looper为什么不会造成卡顿

Posted on 2021-01-16
我们在点击Launch桌面的图标第一次启动Activity时,会最终走到ActivityThread的main方法,在main方法里面创建Looper和MessageQueue 处理主线程的消息,然后 Looper.loop() 方法进入死循环,我们的 Activity 的生命周期都是通过 Handler 机制处理的,包括 onCreate、onResume等方法 public static void main(String[] arg ...
Read more »

Activity & Window & View的关系

Posted on 2021-01-15
onCreate() - Window 创建过程 在 Activity 创建过程中执行 scheduleLaunchActivity() 之后便调用到了 handleLaunchActivity() 方法。 ActivityThread.handleLaunchActivity(): private void handleLaunchActivity(ActivityClientRecord r, Intent customInten ...
Read more »

Framework浅析

Posted on 2020-12-19
App启动过程App启动过程点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求system_server进程接收到请求后,向zygote进程发送创建进程的请求Zygote进程fork出新的子进程,即App进程App进程,通过Binder IPC向sytem_server进程发起attachApplication请求system_server进程在收到请求后, ...
Read more »

ffmpeg-结构体汇总

Posted on 2020-02-14
常用结构体汇总 FFmpeg里面最常用的数据结构,按功能可大致分为以下几类(以下代码行数,以branch: origin/release/3.4为准): 封装格式 AVFormatContext - 描述了媒体文件的构成及基本信息,是统领全局的基本结构体,贯穿程序始终,很多函数都要用它作为参数; AVInputFormat - 解复用器对象,每种作为输入的封装格式(例如FLV、MP4、TS等)对应一个该结构体,如libavforma ...
Read more »
12…6

pickerX

53 posts
14 tags
© 2021 pickerX
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4