Android
文章平均质量分 71
卧室楼碧
这个作者很懒,什么都没留下…
展开
-
Binder-Binder简介
Binder的简介Binder是android特有的进程间通信方式,它融合了面相对象的RPC,它就像一张网,将整个系统的组件,跨越进程和线程,组织在了一起,是整个系统运行的枢纽。Binder对象的定义1)Binder实体对象(BBinder) : Binder服务的提供者2)Binder引用对象:(BpBinder)Binder实体对象在客户进程的代表3)Binder代理对象:原创 2017-05-04 20:05:20 · 255 阅读 · 0 评论 -
Hybrid App混合开发的一些经验和总结
转载自 http://www.cnblogs.com/kingplus/p/5588339.html写在前面:由于业务需要,接触到一个Hybrid APP混合开发的项目。当时是第一次接触混合开发,有一些经验和总结,欢迎各位一起交流学习~1、混合开发概述Hybrid App主要以JS+Native两者相互调用为主,从开发层面实现“一次开发,多处运行”的机转载 2017-07-20 08:10:00 · 1003 阅读 · 0 评论 -
kotlin官方文档中文翻译(三) 类和对象
1.类和继承2.属性字段3.接口4.可见性描述符5.扩展6.数据类翻译 2017-07-23 18:35:54 · 330 阅读 · 0 评论 -
kotlin官方文档中文翻译(二) 基础内容
基础内容:1.基本类型2.包3.控制流4.返回和跳转翻译 2017-07-23 15:52:05 · 477 阅读 · 0 评论 -
kotlin官方文档中文翻译(一)基础语法,习惯用法,编码习惯
基础语法,习惯用法,与编码习惯翻译 2017-07-23 14:38:55 · 611 阅读 · 0 评论 -
Okhttp源码分析(五)连接池
转载自 https://yq.aliyun.com/articles/78101?spm=5176.100239.blogcont78102.16.AczhnP1. 背景1.1 keep-alive机制在HTTP1.0中HTTP的请求流程如下:这种方法的好处是简单,各个请求互不干扰。但在复杂的网络请求场景下这种方式几乎不可用。例如:浏览器加载一个HTML网页转载 2017-07-22 21:13:35 · 499 阅读 · 0 评论 -
OkHttp源码分析(四)DiskLruCache
前一章讲到OKHTTP使用的缓存是DiskLruCache,DispLruCache是以LinkedHashMap为底层实现的磁盘缓存,但是具体是如何缓存的我还是不是很理解,作为程序员,不理解和咸鱼有什么分别。为了不做咸鱼,我们还是看一下源码吧!public final class DiskLruCache implements Closeable, Flushable { final FileS原创 2017-07-22 19:35:51 · 362 阅读 · 0 评论 -
OKHttp源码分析(三)缓存
OKhttp的缓存实现在CacheInterceptor中,okhttp进行请求时,会调用构建拦截器链,并执行每个拦截器的intercept方法原创 2017-07-22 18:55:58 · 193 阅读 · 0 评论 -
OKHTTP源码分析(二)同步方法以及拦截器链
前一章我们分析了OKHTTP处理异步方法,这一章我们来分析一下OKHttp处理同步方法。 同步方法调用的是Realcall的execute方法@Override public Response execute() throws IOException { synchronized (this) { if (executed) throw new Ille原创 2017-07-21 13:08:45 · 204 阅读 · 0 评论 -
OKHTTP源码分析(一)异步方法
项目中使用到了okhttp,但只是简单的会用,没有看过源码,作为程序员,没看过源码和咸鱼有什么区别。于是乎,土贼我打开Source Insight,看一看 okhttp是如何工作的。OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("http://192原创 2017-07-21 10:51:16 · 278 阅读 · 0 评论 -
Android主要热修复原理分析
转自 http://www.jianshu.com/p/d10aa991ca76目前较为成熟的热修复框架主要有AndFix、Nuwa以及微信的热更新思想。现在将其主要思想总结如下:AndFixAndFix是支付宝开源的一套热修复框架,使用简单,成功率高,基本满足大多数的bug修复场景。引入到项目中非常方便,主要分两步:代码整合build.grad转载 2017-07-20 17:01:25 · 148 阅读 · 0 评论 -
android消息机制之理解Looper
Looper对象是线程的消息循环处理器,每个线程只能有一个Looper对象。Looper内部有一个消息队列MessageQueue,所有线程的消息都存放在这个队列中。新创建一个线程时,系统并不会马上为这个线程创建一个Looper对象,需要程序自己创建。Android在启动时,为主线程创建一个Looper对象。Looper类的主要成员变量和方法:public final class Loop原创 2017-05-20 23:58:22 · 280 阅读 · 0 评论 -
Binder驱动
Binder驱动Binder驱动中主要的数据结构binder_proc :每个使用open打开Binder设备文件的进程都会在驱动中创建一个binder_proc的结构,用来记录该进程的各种信息和状态。binder_thread:每个Binder线程在Binder驱动中都有一个对应的binder_thread结构。记录了线程相关的信息,例如需要完成的任务等。binder_node:原创 2017-05-18 00:41:32 · 268 阅读 · 0 评论 -
Binder的应用层的核心类
Binder应用层的核心类C++层1.libbinder库中的IInterface类,BpInterface类,BnInterface类,BBinder类,BpBinder类和IBinder类共同构成了Binder应用层的核心类。(1)IInterface类 :主要的功能是用“纯虚函数“定义服务的接口函数内部有一个比较陌生的宏 DECLARE_META_INTERFACE”使用这个原创 2017-05-06 22:10:08 · 321 阅读 · 0 评论 -
Binder的实现原理
Binder的实现原理Binder实现的远程调用是一种面向对象的远程调用。相比于面向过程的远程调用,面向对象的远程调用功能更加强大,它可以创建多个Binder实体对象服务多个客户,每个对象之间数据封闭,互不影响,安全性更加可靠,而这些面向过程的远程调用是无法实现的。但是越强大的功能实现起来就会越复杂,需要解决的问题也会越多。首先需要解决的问题就是如果跨进程管理对象的生命周期。服务端的Binde原创 2017-05-13 15:51:52 · 431 阅读 · 0 评论 -
Activity工作过程源码分析
Activity是Android四大组件之一,它作为一个展示型的组件,在Android世界里起到了重要作用。它可以与用户交互,将用户信息反馈给后台,可以说,用户每天面对的app界面都是由activity制作的。作为一个不想当咸鱼的程序员,只了解activity的生命周期,启动模式是不够的,还需要更加深入的了解,那么问题来了,作为Android四大组件之一,它是如何启动的呢? 那么这篇文章,我将从源码原创 2017-07-25 09:50:13 · 410 阅读 · 0 评论