Android系统启动流程-Zygote分析 Android系统启动流程-Zygote分析
zygote是通过app_process或者app_process64命令行程序启动的. 先来看下app_process的流程: app_processint main(int argc, char* const argv[]) {
2020-06-25
Linux查看进程和线程信息 Linux查看进程和线程信息
psps -T -p 查看进程下所有线程信息 top 查看整体线程情况 top -H 查看指定进程的线程运行情况 top -H -p 查看当前活跃的进程 top
2020-06-24
Android启动流程-init进程分析 Android启动流程-init进程分析
基于Android 10 源码分析 之前在Android启动流程分析中已经大致分析了一下Android系统启动的过程,这里回顾一下: 上电,从Boot ROM中执行一段烧录好的代码加载bootloader bootloader执行,引
2020-06-22
Android中的ANativeWindow Android中的ANativeWindow
ANativeWindow是什么ANativeWindow是C/C++中定义的一个结构体,等同于Java中的Surface. Android NDK中可以访问到ANativeWindow. ANativeWindow中存放像素信息的结构是:
2020-06-19
AOSP的编译 AOSP的编译
aosp现在使用soong编译工具进行编译了,比之前的老版本编译要容易方便得多了. 步骤 配置好repo等工具 下载aosp源码 开始编译 模拟器演示或者刷写到真实设备上 其实这几个步骤都没什么好说的.第一二步按照要求下载工具和源码即可,
2020-06-12
Android开机动画分析 Android开机动画分析
开机动画系统会按照下面的顺序选择一个开机动画资源(一个zip文件,比如bootanimation.zip): /system/media/bootanimation-encrypted.zip (if getprop("vold.
2020-06-12
Android系统启动流程分析 Android系统启动流程分析
Boot ROM当按下电源键,硬件上电之后,会从一个固定的内存区域读取程序.这个程序是烧写到硬件上的(ROM),用于将bootloader加载到RAM中,并开始执行它. bootloaderbootloader用于告诉设备如何找到系统内核,
2020-06-12
Java中的Lock Java中的Lock
Java 中保证线程安全,操作同步的方法有很多种,比如: 使用synchronized关键字 使用Lock的实现类 其中synchronized属于语言级别的处理,无需我们去处理细节,而Lock则是一个接口,我们可以自定义Lock或者使
2020-05-15
Java中的Map Java中的Map
哈希表/散列表 通俗的说就是,使用散列函数将key值映射到数组下标,这样就可以根据key值直接访问到元素存储位置,这种结构就叫哈希表(散列表)。 将key值映射到数组下标的函数就做散列函数,这个映射过程是一个key值压缩的过程,因而不可避
2020-05-15
Java中的List Java中的List
List ArrayList通过动态数组存储数据的,数组默认长度为10,实际使用过程中可以通过trimToSize()方法剪裁到实际的list大小。 ArrayList是线程不安全的; ArrayList由于通过数组索引定位,所以查找效率比
2020-05-15
Java队列 Java队列
先来看一下Queue的定义: public interface Queue<E> extends Collection<E> { //插入成功返回true,如果容量不足,抛出异常 boolean add(
2020-05-15
Gradle读取配置文件 Gradle读取配置文件
gradle中使用了gradle.properties和local.properties文件. build.gradle 可以直接获取同级目录和上层目录的properties文件. 如果properties文件在其他目录,或者不是.prop
2020-05-15
Android中的存储路径 Android中的存储路径
存储数据的几种方式 应用专属存储空间 应用专属空间里的数据会在应用被卸载的时候删除,清除缓存通常指的是清除缓存文件下的文件,清空数据则是清空所有cache,files下文件,如果想让其他APP可以访问这些私有数据,可以利用FileProvi
2020-05-08
2 / 2