Android开发
文章平均质量分 87
会灰的飞猫
这个作者很懒,什么都没留下…
展开
-
AMS:ActivityRecord 理解
将 ActivityRecord 比作人的出行记录,从源码中分析 ActivityRecord 记录的信息类型,对其进行了理解性探究。原创 2022-10-26 21:15:33 · 1381 阅读 · 0 评论 -
android.bp 使用
快速上手编写模块的 bp 文件,分析模块引用、变量的使用原创 2022-09-17 20:31:54 · 4906 阅读 · 0 评论 -
AIDL 服务的发布 publishBinderService 和 获取 getService
在Frameworks 中使用 AIDL 服务,其发布和获取是两个重要方法,本文尝试探究其源码的实现。1 服务的发布方法publishBinderService该方法定义在 SystemService.java 中,有多个重载方法,最后都调到了下面这个方法。/frameworks/base/services/core/java/com/android/server/SystemService.java429 /**430 * Publish the service so原创 2022-05-02 18:52:33 · 2334 阅读 · 0 评论 -
在 Frameworks 中使用 AIDL
通过 Android 源码,举例说明了如何在 Frameworks 创建 AIDL 服务。原创 2022-05-01 23:06:43 · 1158 阅读 · 0 评论 -
ANR 学习笔记
接触 ANR 分析一段时间了,但在碰到相关问题的时候,总还是有一种生涩感,专门开篇博客,做一些文章阅读后的笔记吧,不断积累。一 ANR问题该如何分析?这篇文章极力推荐,虽然是 17 年的,但都是干货啊,想精简一下都难。主要总结了 ANR 日志的分析思路,给的例子也很是经典。1 ANR 分类广播ANRService ANRContentProvider ANRInput ANR面向系统:WatchDog产生ANR原因,如下几种:耗时操作自身服务阻塞系统阻塞内存紧张CPU资源抢占2原创 2022-04-23 22:06:42 · 2865 阅读 · 3 评论 -
android kswapd0 白话理解
Android 内存管理的一套机制很复杂,这里只是简单梳理一下kswapd0、swapniss、swap 是什么以及它们之间的关系。1 什么是 kswapd0简单来说,kswapd0 是一个进程,负责在 Android 系统内存紧张时进行内存回收。2 kswapd0 回收什么内存首先我们知道,Android 的内存分为匿名页和文件页。文件页:也即 File-backed Page,从名字理解,就是在磁盘上有文件对应的页,包括缓存、缓冲以及通过内存映射获得的页。脏页:当文件页被修改过后,并且暂时还原创 2022-04-21 23:16:30 · 3795 阅读 · 0 评论 -
systrace 基本使用
Systrace 是谷歌提供的一款工具,用于记录短期内的设备活动,是性能分析的利器。本文主要介绍 systrace 文件的抓取和简单的解析 systrace 图。首先我们要下载 platform-tools 工具包,这个是可以单独下载的。下载好后,在其中会有一个 systrace 目录,就是我们需要用到的。此外,python2.7 也是需要下载并配置的好的。工具准备好后,我们就正式进入 systrace 的使用介绍。systrace 基本使用1. 生成 systrace 文件2. 解析 systrace原创 2022-04-05 00:15:01 · 7392 阅读 · 1 评论 -
Android Handler 消息机制
每一个搞 Android 的对 Handler 应该都不陌生,网上大神的文章也是数不尽的。这篇文章是个人在学习 Handler 过程中的一些疑问的记录。1. 什么是 Handler,有什么作用Handler 首先是一个 java 类,定义在/frameworks/base/core/java/android/os/Handler.java。但一般提到 Handler 并不专指它自身,常用来代指 Android 中的消息处理机制,或者说线程间通信的工具,典型应用就是在子线程中更新 UI 线程。那么,很显然原创 2022-04-04 18:07:05 · 3227 阅读 · 0 评论 -
ADB 常用命令记录
adb 命令学习、记录,内存、cpu信息查看,日志获取原创 2022-03-30 23:22:42 · 1393 阅读 · 0 评论 -
Activity 启动流程和 UML 时序图
本文以启动的目标 Activity 所属进程不存在的情形为例,结合 Android12 源码,给出了整个过程的流程图,以及局部过程的时序图。原创 2022-03-29 22:36:45 · 4681 阅读 · 0 评论 -
Android.mk解析与使用
简单介绍 Android.mk 文件的编写,一些常见变量的配置解析原创 2021-10-02 18:20:00 · 15197 阅读 · 4 评论