之前介绍IdleHandler机制的时候是因为在看 Matrix 的源码时遇见,IdleHandler 和 Choreographer 不太熟悉,所以就又去看了一下 IdleHandler 的运行机制,然而今天又回过头来看 Choreographer 的时候,发现其中的 FrameDisplayEventReceiver 的 onVsync()函数 使用到了 msg.setAsynchronous(true),发现涉及到一个同步屏障的概念,于是又回过头来看Android消息机制补一补关于同步屏障的知识。
IdleHandler 之前的叙述中我们有介绍过Android消息机制,但当时还有一个小尾巴我们没有介绍到,当时我也没太注意,感觉不太重要,最近看 Matrix 源码时见到了 IdleHandler, 所以又重新回头拾起来给大家介绍一下。
我们在工作中经常会听到和使用HTTP及HTTPS,并且我们都知道HTTPS能确保通信安全,但为什么HTTPS能保证安全,可能我们就无法将HTTPS工作的详细流程说出来了。基于此,本文就HTTPS工作的详细流程作一一介绍。
HashMap是我们经常用的数据结构,采用了key-value的方式来存储数据。在JDK 1.8的版本中也是对其做了优化修改,现在我们来通过在JDK 1.8的环境下的源代码分析一下HashMap的工作原理。及相比于1.7,在1.8中的优化。
Android应用程序进程启动过程,每一个应用程序都是一个进程。通过点击桌面的App图标来打开App,创建应用程序进程。
本文主要介绍Java的线程池ThreadPoolExecutor,针对其使用原因,用法,用例做一些简单介绍。
关于Android消息机制的原理及Handler,MessageQueue,Looper的原理我们在之前有分析过,而HandlerThread则是Android对线程加入了Handler进行了封装处理的产物。而IntentService则是在Service基础上加入了HandlerThread的封装,今天就它们我们来分析下源码及各自使用的场景。
Android各版本之间更新存在一些新特性,熟悉这些特性才可以避免在开发过程中踩坑。就我自己平常在开发的过程中遇见的问题及查询网上资料得到一些Android版本更新的特性。
Android系统从开机到Launcher启动的整体流程,其中包括Init进程,Zygote进程,SystemServer进程及Launcher的启动流程。
最近项目中比较频繁的运用到了greenbot公司的eventbus框架,怕使用的时候遇见问题无法解决,所以小子最近也是看了点Eventbus的源码解析,了解了一点运行流程,所以特来和大家分享。