首页
学习
活动
专区
工具
TVP
发布

Android 研究

专栏作者
104
文章
195500
阅读量
78
订阅数
Java虚拟机基础——1Java的内存模型
最近和几个之前一起做安卓的朋友喝酒,他最近在研究JVM,我们就简单的讨论了起来,他比我研究的深很多,我也不甘堕落,自己也开始研究了一下,写了4篇文章整理了一下自己的思路,Java虚拟机整体篇幅如下:
隔壁老李头
2018-10-10
4190
Android系统启动——7附录1:Android属性系统
属性系统在Android 系统中大量使用,用来保存系统级别的设置或者在进程间传递一些简单的信息。每个属性由属性名称和属性值组成,名称通常是一串‘.’分割的字符串,这些名称的前缀有特定的含义,不能随意改动,但是前缀后面的字符串可以由应用程序来制定。而且属性值只能是字符串,如果需要在程序中使用数值,需要自定完成字符串和数值之间的转换。
隔壁老李头
2018-08-30
1.3K0
Android系统启动——6 SystemServer启动
SystemServer是Android系统的核心之一,大部分Android提供的服务都运行在这个进程里,SystemServer中运行的服务总共有60多种。为了防止应用进程对系统造成破坏,Android的应用进程没有权限直接访问设备的底层资源,只能通过SystemService中的代理访问。通过Binder,用户进程在使用SystemService中的服务并没有太多不便变之处。
隔壁老李头
2018-08-30
3K2
Android系统启动——4 zyogte进程 (C篇)
我们大家都是知道"一鼎三足"和"三角形的稳定性",那么支撑Android系统的三个"足"是什么?即init进程、SystemServer进程和Zygote进程。本篇文章我们就好好来研究下Zygote进程
隔壁老李头
2018-08-30
2.3K0
Android Handler机制12之Callable、Future和FutureTask
说到Callable就不能不说下java.lang.Runnable,它是一个接口,它只声明了一个run()方法,由于这个run()方法的返回值是void的,所以在执行完任务之后无法返回任何结果。
隔壁老李头
2018-08-30
6620
Android Handler机制10之Native的实现
在Android Handler机制6之MessageQueue简介中的五、native层代码的初始化中 说了MessaegQueue构造函数调用了nativeInit(),为了更好的理解,我们便从MessageQueue构造函数开始说起
隔壁老李头
2018-08-30
2.1K1
Android Handler机制8之消息的取出与消息的其他操作
这个方法已经在Android Handler机制4之Looper与Handler简介中说过了,我就重点说下流程,大体上分为6步
隔壁老李头
2018-08-30
1.4K0
Android Handler机制7之消息发送
光看上面这些API你可能会觉得handler能法两种消息,一种是Runnable对象,一种是message对象,这是直观的理解,但其实post发出的Runnable对象最后都封装成message对象了。
隔壁老李头
2018-08-30
1.1K0
Android Handler机制2之ThreadLocal
我们看到首先是拿到当前先线程实例t,任何将t作为参数构造ThreadLocalMap对象,为什么需要通过Threadl来获取ThreadLocalMap对象?Thread类和ThreadLocalMap有什么联系,那我们来看下getMap()方法的具体实现
隔壁老李头
2018-08-30
8280
Android Handler机制1之Thread
每一个进程都有自己的独立的一块内存空间、一组资源系统。其内部数据和状态都是完全独立的。进程的优点是提高CPU的运行效率,在同一个时间内执行多个程序,即并发执行。但是从严格上将,也不是绝对的同一时刻执行多个程序,只不过CPU在执行时通过时间片等调度算法不同进程告诉切换。
隔壁老李头
2018-08-30
6980
Android系统启动——2init进程
严格上讲,Android系统实际上是运行于Linux内核之上的一系列"服务进程",并不算一个完成意义上的"操作系统";而这一系列进程是维持Android设备正常工作的关键,所以它们肯定有一个"根进程",这个"根进程"衍生出了这一系列进程。这个"根进程"就是init进程。
隔壁老李头
2018-08-30
2.7K0
Android跨进程通信IPC之10——Binder之Framework层Java篇
Binder在framework层,采用JNI技术来调用native(C/C++)层的binder架构,从而为上层应用程序提供服务。看过binder之前的文章,我们知道native层中,binder是C/S架构,分为Bn端(Server)和Bp端(Client)。对于Java层在命令与架构上非常相近,同时实现了一套IPC通信架构。
隔壁老李头
2018-08-30
1.9K0
Android跨进程通信IPC之3——关于"JNI"的那些事
在分析IPC基于Android 6.0)的过程中,里面的核心部分是Native的,并且还包含一些linux kernel,而作为Android开发者看到的代码大部分都是Java层,所以这就一定会存在Java与C/C++代码的来回跳转,那么久很有必要来先说一下JNI,本文主要内容如下:
隔壁老李头
2018-08-30
2.5K0
OKHttp源码解析(五)--OKIO简介及FileSystem
okio是由square公司开发的,它补充了java.io和java.nio的不足,以便能够更加方便,快速的访问、存储和处理你的数据。OKHttp底层也是用该库作为支持。而且okio使用起来很简单,减少了很多io操作的基本代码,并且对内存和CPU使用做了优化,他的主要功能封装在ByteString和Buffer这两个类中。
隔壁老李头
2018-08-30
1.8K0
OKHttp源码解析(三)--中阶之线程池和消息队列
android的异步任务一般都是用Thread+Handler或者AsyncTask来实现,其中笔者当初经历过各种各样坑,特别是内存泄漏,当初笔者可是相当的欲死欲仙啊!所以现在很少有开发者还在用这一套来做异步任务,现在一般都是Rxjava为主,当然还有自己自定义的异步任务框架(比如笔者),像RxJava都帮我们写好了对应场景的线程池,这是为什么?
隔壁老李头
2018-08-30
2K0
OKHttp源码解析(一)--初阶
这段时间老李的新公司要更换网络层,知道现在主流网络层的模式是RxJava+Retrofit+OKHttp,所以老李开始研究这三个项目的源代码,在更换网络层后,开始分享这个三个项目源码的分析。* 本篇文章 主要讲解OKHttp源码解析(3.7.0) OKHttp官网 github地址
隔壁老李头
2018-08-30
1.5K0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档