码农帮派

LV1
发表了文章

Android Framework用到了哪些进程通信(IPC)的方式

半双工,单向的 (一个管道要么只能读,要么只能写,数据的读/写是单向的,要想实现既能读又能写,就需要使用两个管道来完成)

码农帮派
发表了文章

Binder跨进程通信的流程

上图是一次binder调用的通信流程,Client是应用进程,Server是系统服务,应用进程通过binder调用请求系统服务,Client向binder驱动发...

码农帮派
发表了文章

Android中的热修复

在运行时替换掉底层有Bug的方法的地址,将他们的指针指向修复之后的方法的内存地址,从而实现热修复的功能。

码农帮派
发表了文章

Android类加载之双亲委派机制

我们定义一个CustomClassLoader加载器,去加载String.class文件的流程如下:

码农帮派
发表了文章

说说Activity的启动流程

Activity是一个组件,组件的启动是要通过AMS的,和Application的启动一样,Activity的启动也会涉及到AMS、Zygote以及应用进程之间...

码农帮派
发表了文章

Handler面试八问

线程启动之后,进入main()方法,在main()方法中进行线程的一些初始化,初始化工作完成之后,会调用Looper.loop()进行消息监听,而loop()方...

码农帮派
发表了文章

说说ThreadLocal的原理

我们在线程中使用Handler之前,需要调用Looper的prepare方法进行Looper初始化,否则会抛出异常,说Looper不存在,其实我们在调用prep...

码农帮派
发表了文章

笔记13 - Android中的内存泄漏如何优化

Activity承载了应用和用户交互的任务,在Activity中有大量的资源引用和上下文Context这样占用内存较大的资源对象,因为Activity一旦因为外...

码农帮派
发表了文章

Android中怎么跨进程传输大图片

1. 将图片保存在固定的位置,将存储位置信息跨进程发送给其他进程,其他的进程读取图片文件

码农帮派
发表了文章

笔记11 - Android touch事件分发时机

ViewGroup是一组View的组合,在其内部会包含多个子View,当用户点击屏幕的时候,点击的位置可能在ViewGroup上,也可能在其内部View控件上。

码农帮派
发表了文章

说说idleHandler的原理

首先看一下IdleHandler接口的定义,从上面的定义可以看到,IdleHandler的触发时机是当前线程的消息队列中没有消息,或消息队列中的消息尚未到处理的...

码农帮派
发表了文章

笔记12 - 对于网络编程,做过的优化?

首先是防劫持,我们可以使用HttpDns,它与传统的DNS解析相比,HttpDns会绕开运营商的DNS服务器,直接与DNS服务器的80端口进行交互,可以有效的防...

码农帮派
发表了文章

Handler中的消息屏障

Handler中的消息队列如上图所示,是一个单链表,各个消息按照执行时间先后排列,消息类型分为三种:普通消息(normal)、屏障消息(barrier)、异步消...

码农帮派
发表了文章

LeetCode中级算法-数学(2)

使用二分查找,需要注意的是因为只保留整数部分,我们找到平方根的平方结果只可能小于target,基于以上的分析,在二分查找的时候,在缩小范围的时候,要是结果小于t...

码农帮派
发表了文章

WebRTC NAT穿越原理

NAT虽然带来了不少的好处,但是也增加了端对端直接通信的难度,NAT使得端对端的通信方式在某些场景下只能通过中转服务器进行交互。

码农帮派
发表了文章

Android线程间消息传递机制

上图是消息循环的过程,当线程进入Looper.loop()循环之后,会从MessageQueue中阻塞的读取Message,要是MessageQueue中没有消...

码农帮派
发表了文章

笔记10 - DVM或ART是如何对JVM进行优化的

DVM大多数实现和传统的JVM相似,但是为了满足Android在手机端内存的限制,Dalvik对JVM做了一些独有的优化。

码农帮派
发表了文章

Handler的消息延时是怎么实现的

通常我们使用Handler的消息延时都是调用sendMessageDelayed函数实现的,其中delayMillis是需要延时的毫秒。

码农帮派
发表了文章

LeetCode中级算法-数学(1)

「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 ...

码农帮派
发表了文章

WebRTC是如何建立链接的

A和B进行通信,要是双方都在同一个网段内,那么最高效的通信方式就是双方通过内网进行连接,要想让双方进行内网链接,首先需要解决的就是如何让A和B知道对方是在同一个...

码农帮派

个人简介

个人成就

扫码关注云+社区

领取腾讯云代金券