logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

应用程序进程启动过程

想要启动一个应用程序,首先要保证这个应用程序所需要的应用程序进程已经启动。AMS在启动应用程序时会检查这个应用程序所需要的应用程序进程是否已经存在,如果不存在就会请求Zygote进程启动需要的应用程序进程。在Zygote进程启动过程中可以知道,在方法中会创建一个Server端的Socket用来等待AMS请求Zygote进程创建子进程。Zygote进程通过fork自身创建子进程,这样,子进程就会获得

#android#java#jvm
Android系统启动(二) — Zygote进程启动过程

在Android系统中,DVMDalvik虚拟机)和ART,系统服务进程以及应用程序进程都是由Zygote进程来创建的(而Native程序,也就是C/C++开发的程序则是由init进程创建启动的)。Zygote进程也称孵化器,通过fork(复制进程)的形式来创建应用程序进程和进程,由于Zygote进程在启动时会创建DVM或者ART,因此通过fork而创建的应用程序进程和进程可以在内部获取一个DVM

文章图片
#zygote#android#java
Java虚拟机(三)—— Java变量在虚拟机中的内存分配

JDK(Java Development Kit)kit [kɪt] 工具箱;成套工具Java虚拟机可以看作是一种抽象化的计算机,通过在实际的计算机上模拟各种计算功能来实现的。它有自己的一套字节码指令集、一组寄存器、一个堆栈、一个垃圾回收堆和一个方法区。JVM,Java Virtual Machine Java虚拟机只识别字节码,也就是.class文件,它和生成字节码文件的源文件是没有关系的,它也

文章图片
#java#c#
Android性能优化

1 内存优化1.1 内存泄漏Java虚拟机中的对象内存泄漏1.2 内存溢出(OOM Out Of Memory)内存泄漏一般导致应用卡顿,极端情况会导致OOM,OOM的原因是因为超过内存的阈值。原因主要有两方面:内存泄漏,导致无法及时释放导致OOM;一些逻辑消耗了大量内存,无法及时释放或者超过导致OOM;**能够消耗大量内存的,绝大多数是因为图片加载。这是OOM出现最频繁的地方。图片加载,一个是控

文章图片
#android#java
Activity 的启动流程(Android 13)

Activity的启动过程分为两种:一种是普通Activity 的启动过程,另一种是根 Activity的启动过程。普通 Activity 指的是除应用程序启动的第一个 Activity 之外的其他 Activity。

文章图片
#android
网络请求(二)— OkHttp

OkHttp简介由Square公司开发并共享开源的高效网络访问框架,使用简单,它替代了HttpUrlConnection和Apache的HttpClient。默认情况下OkHttp具备以下特性:支持HTTP/2,允许所有同一个主机地址的请求共享同一个Socket连接连接池减少请求延时透明的GZIP压缩较少响应数据的大小缓存响应内容,避免一些完全重复的请求网络出现问题后,OkHttp保持不变,自动从

#android
到底了