Activity启动流程分析

启动阶段分析 我们把Activity启动分为4个阶段, 阶段1:用户点击应用图标,由Launcher传入参数,ATMS构建ActivityRecord和Task 阶段2:Pause掉Launcher的Activty 阶段3:Zygote进程创建目标进程,触发ActivityThread的运行 阶段4


Android SELinux权限异常分析

问题 起因是视频播放器播放一个视频没有声音,实际上视频播放的是raw资源自带的默认视频,所有视频资源都放在 /data/link/ac/videocomfort/video 下边 从log来看发现检测文件存在返回结果为false,我们查了系统目录下是有资源的,首先就怀疑权限问题 SELinux关键日


Android Activity Transaction

发起Transaction 在分析Activity生命周期回调的源码的时候,我们经常会看到这样的代码 mAtmService.getLifecycleManager().scheduleTransaction(prev.app.getThread(), prev.token, Pau


深入剖析Android onConfigurationChanged回调原理:从使用到源码

本文基于Android 13源码分析 目的 在Android 系统中,屏幕切换,语言切换,昼夜色切换后,默认情况下会触发Activity的重启,这可能会影响用户体验,如果是导航app,则会影响导航的连贯性,如果app依赖其他的模块如3D模型等,这会导致模型黑屏,重新加载缓慢等体验很差的效果.同时为了


WindowAnimationStyle属性生效情况对比

起因 在给app配置Activity切换动画时,发现一些作用于theme的动画属性,比如 activityOpenEnterAnimation activity打开动画 taskToFrontEnterAnimation Activity任务栈切换到前台的进入动画 但是在Android P之后的一些


AOSP编译指令

源码下载 Android 源码 假设我们已经配置好了repo 官网教程:下载 Android 源代码 | Android Open Source Project[1] mkdir aosp && cd aosp //google地址 repo init -u https://android.goog


Activity窗口自定义动画资源加载源码分析

通过Theme设置的动画 支持的动画属性 在AndroidManifest.xml中通过设置style的形式指定动画资源,比如有:activityOpenEnterAnimation framework中定义动画的属性文件为:base/core/res/res/values/attrs.xml 其中


从Framework层分析高斯模糊的实现逻辑

本文基于Android 13源码分析 当试图阅读AOSP源码的时候往往无从下手,本文试图从设置窗口高斯模糊效果为目的来梳理Framework中一些重要类的各种关系,比如从Activity根View的创建到window的加载以及和ViewRootImpl的关系,最后在自定义Window中模拟Activ