- 博客(11)
- 收藏
- 关注
原创 Android Binder之native层解析
1 前言Binder是Android系统中提供的一种进程间通信方式,Android是基于Linux内核的,除了Binder外,还有其他的进程间通信方式,可以参考笔者之前的文章,Linux自带多种进程间IPC,为什么Google却用Binder作为Android主要的进程间IPC?。对我们好多开发者来讲,最难也最想掌握的恐怕就是Binder了,Android整个系统可以看作一个基于Binde...
2019-09-01 22:29:34
632
原创 Linux自带多种进程间IPC,为什么Google却用Binder作为Android主要的进程间IPC?
前言作为一名Android开发者,想必大家都知道Android是基于Linux内核的!在Linux中,进程间通信有如下几种方式,管道、消息队列、共享内存、信号量、信号、Socket,但是Android却用Binder作为主要的进程间通信方式,这是为什么呢?下面让我们来分析下。1 管道管道是Linux一种常见的进程间通信方式,也是Linux最古老的一种进程间通信方式,管道分为匿名管道(PIPE...
2019-08-21 22:14:29
431
原创 Android 系统启动流程(三)SystemServer启动流程
前言在Android 系统启动流程(二) zygote启动流程这片文章中,我们学习了Zygote的启动过程,并且知道 Zygote创建并启动了SystemServer,这篇文章我们来学习下SystemServer的启动过程。1 Zygote启动SystemServerframeworks\base\core\java\com\android\internal\os\ZygoteInit.ja...
2019-07-26 12:11:57
555
原创 Android 系统启动流程(二) zygote启动流程
前言在Android 系统启动流程(一) init进程启动过程这篇文章中我们知道Zygote是由init进程解析init.rc文件而创建的,它所对应的可执行文件是/system/bin/app_process,对应的源码文件是frameworks\base\cmds\app_process\app_main.cpp。在Android系统中,DVM(Dalivk虚拟机),应用程序进程以及运行系统关...
2019-07-23 12:25:23
502
原创 Android 系统启动流程(一) init进程启动过程
1. 概述init进程是Linux系统中用户空间的第一个进程。由于Android是基于Linux内核的,所以init进程也是Android系统中用户空间的第一个进程,它的进程号是1,作为天字一号进程,它被赋予很多重要的职责,但本次我们就关注它的2个重要职责:init进程如何创建zygote进程、init进程如何初始化并启动属性服务。2. init启动之前的工作当按下Power键,引导芯片加载...
2019-07-16 12:38:24
1300
原创 Android init.rc解析
1.简述:Android init.rc文件由用户空间的第一个进程init解析,主要包含五种语句: Actions,Commands,Services,Options,Imports; 在init.rc文件中一条语句通常是占据一行.单词之间是通过空格符来相隔的.如果需要在单词内使用空格,那么得使用转义字符"",如果在一行的末尾有一个反斜杠,那么是换行折叠符号,应该和下一行合并成一起来处理,这样做...
2019-07-12 13:55:35
565
原创 MTK(Android N)设置SDCard为默认存储
思路:当系统将所有存储挂载完毕,然后调用StorageManagerEx.setDefaultPath(path)设置默认存储,当用户手动改变以后就跟随用户设置。
2017-08-23 16:44:05
1626
原创 Parcelable 和 Serializable 的区别
一、 什么叫序列化?为什么要进行序列化?怎么进行序列化?1: 什么叫序列化? 序列化:将一个对象转换成可存储或者可传输的状态。序列化后的对象可以在网络上进行传输或者存储到本地。 2: 为什么要进行序列化?在进行Android开发的时候,无法将对象的引用传递给Activity或者Fragments,我们需要将这些对象放到一个Intent 或者Bundle里面,然后在传递。 3: 怎么
2016-11-29 17:29:50
699
原创 Android 6.0(M) BatteryService浅析及充电呼吸灯流程浅析 MTK
Android 6.0(M) BatteryService浅析及充电呼吸灯流程浅析
2016-11-15 16:44:15
4673
转载 Java AtomicInteger
AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。来看AtomicInteger提供的接口。//获取当前的值public final int get()//取当前的值,并设置新的值 public f
2016-11-15 11:01:54
347
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人