獨孤碼農

毕生求一败而不可得 终埋剑于剑冢 诚寂寥难堪也

Android10系统架构和学习总纲

本文为Android10系统架构和学习总纲,会分类列出博主学习android10的所有博文,方便大家查阅

一.Android系统架构 Android系统架构分为五层,从上到下依次是应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层,下图是一张官网经典的架构分层图 应用层 系统内置的应用程序以及非系统级的应用程序都是属于应用层。负责与用户进行直接交互,通常都是用Java进行开发的。 应用框架层(Java Framework) 应用框...

Android源码查看和下载

汇总一下android源码下载和在线查看的网站和方法

本文最后更新于 2021-07-25 更新内容:删除了访问不了的网站,更新网站截图,添加新的资源网站    学习研究android系统,最直接最好的方法就是阅读源码(Read The Fucking Source Code),本篇教程汇总一下能够查看android源码的网站和下载源码的方法 一 在线查看 https://source.android.com/source/ 首...

SystemUI简要学习

SystemUI是指“系统UI”,SystemUI是以应用程序的形式提供系统UI界面的统一管理方案

SystemUI是指“系统UI”,SystemUI是以应用程序的形式提供系统UI界面的统一管理方案, 一、SystemUI组成 SystemUI包含的功能非常丰富,组成元素主要包含常见的System Bars,以及ScreenShot截屏、壁纸、最近运行的应用程序等。SystemUI也是各大安卓版本中变化比较大的一个部分。 Status ...

何谓AndroidX?

Android技术迭代更新很快,各种新出的技术和名词也是层出不穷

Android技术迭代更新很快,各种新出的技术和名词也是层出不穷。不知从什么时候开始,总是会时不时听到AndroidX这个名词,这难道又是什么新出技术吗?相信有很多朋友也会存在这样的疑惑,那么今天我就来写一篇科普文章,向大家介绍AndroidX的前世今生。 Android系统在刚刚面世的时候ÿ...

图解binder通讯机制

一篇文章以图解的方式介绍下Binder进程间通讯机制

本文以图解的方式介绍下Binder机制,相信你看完这篇文章,一定有所收获。 什么是 Binder? Binder是Android系统中进程间通讯(IPC)的一种方式,也是Android系统中最重要的特性之一。Android中的四大组件Activity,Service,Broadca...

Activity与Window

一篇文章看明白 Activity 与 Window 与 View 之间的关系

概述 我们知道 Activity 启动后就可以看到我们写的 Layout 布局界面,Activity 从 setContentView() 到显示中间做了什么呢?下面我们就来分析下这个过程。 本文主要对于以下问题进行分析: Window 是什么?Activity 与 PhoneWindow 与 DecorView 之间什么关系ÿ...

Android应用安装流程分析

Android应用安装流程分析学习总结

整体介绍 一个 Android 应用安装到手机上大致分为四种情形: 系统应用,在设备每次启动时完成安装通过 adb install 命令安装应用市场安装,封装安装过程(略)第三方应用安装或双击安装包,会启动系统应用引导安装 无论采用哪种安装方式,最终的安装过程都会走到 PackageManage...

Activity是如何启动的

从点击桌面应用图标到应用显示的过程我们再熟悉不过了,本篇文章我们来分析下这个过程都做了什么

概述 从点击桌面应用图标到应用显示的过程我们再熟悉不过了,下面我们来分析下这个过程都做了什么。 本文主要对以下问题分析: ActivityThread 是什么,它是一个线程吗,如何被启动的?ActivityClientRecord 与 ActivityRecord 是什么?Context 是什么,...

Android10新特性

Android 10正式版发布,来看看都有哪些新特性

谷歌在今年3月推出了Android 10.0的首个测试版,9月4日,Android 10.0的正式版正式向外发布,而最先尝到新版本的自然是亲儿子Pixel手机。今天咱们就来看下android10都有那些新的特性 新特性解读 根据Android官网的介绍,Android 10.0将聚焦于隐私可控、手机自定义与使用效率,此版本...

Android SELinux学习

SELinux粗浅学习

1. SELinux 背景知识 详细了解 SELinux 可以参阅 Google 官方文档 1.1 DAC 与 MAC 在 SELinux 出现之前,Linux 上的安全模型叫 DAC,全称是 Discretionary Access Control,翻译为自主访问控制。 DAC 的核心思想很简单,就是:进程理论上所拥有的...

AMS缺陷导致的系统低概率重启问题

一例经典的AMS BUG导致的系统低概率重启问题

一. 问题现象 问题很典型,我们先来看一下日志打印的调用栈。 2019-06-27 07:14:46 system_server_crash (text, 1021 bytes) Process: system_server java.lang.IndexOutOfBoundsException: Invalid index 8, size is 8 at java.util.Array...

Android基础探究之全局引用限制

全局应用限制也叫global reference使用不当,就会引发lobal reference overflow异常问题

一、概述 global reference使用不当,就会引发lobal reference overflow异常问题,为了解决这个问题,从Android 9.0开始新增了限制策略。 先来看看虚拟机的一些基本知识。每一个进程都必须有一个JavaVM,且只有一个,是Java虚拟机在JNI层的代表, JNI 全局只有一个;每一个线程都有一个JNIEnv,JNIEnv一个线程相关的结构体, 代表...