SystemUI-应用知栏视图是如何夸进程显示? ?>

SystemUI-应用知栏视图是如何夸进程显示?

应用知栏视图是如何夸进程显示到 SystemUI 的?

跨进程通讯的基础是 IPC ,通知服务(NotificationManagerService, 简称 NMS)也不离开 IPC ,核心架构还是 IPC 架构。

消息通道

  1. 应用做作为通知的发送端, 需要调用 NMS ,发通知。例如:
      String channelId = "channel_1";
      String tag = "ailabs";
      int id = 10086;
      int importance = NotificationManager.IMPORTANCE_LOW;
      NotificationChann[......]

继续阅读

Android 开发者的下半场 ?>

Android 开发者的下半场

2018年,整个移动互联网进入了下半场。为什么说已经进入了下半场,谈未来,先讲历史,我们来重头开始捋一捋吧。

2005 年,Google 收购了成立不到两年的 Android 公司,经过三年多的研发,于 2008年推出了 Android 1.0 ,此时还是搭载塞班系统的诺基亚的天下,业界并不看好 Google 的 Android ,很多人认为最多一年 Google 就会放弃 Android。

2009 年, Android 1.5 出世,HTC G1 和 HTC G2 大卖,此时,国内已经有一批人开始写 Android 应用开发的入门教材了,尽管现在看来是多么没含量、官方文档一字不漏翻译甚[……]

继续阅读

OKHTTP3源码2-连接池管理 ?>

OKHTTP3源码2-连接池管理

整体架构

《OKHTTP3源码和设计模式-1》,中整体介绍了 OKHttp3 的源码架构,重点讲解了请求任务的分发管理和线程池以及请求执行过程中的拦截器。这一章我们接着往下走认识一下 OKHttp3 底层连接和连接池工作机制。

RealCall 封装了请求过程, 组织了用户和内置拦截器,其中内置拦截器 retryAndFollowUpInterceptor -> BridgeInterceptor -> CacheInterceptor 完执行层的大部分逻辑 ,ConnectInterceptor -> CallServerInterceptor 两个拦截器开始迈向连接层最终完成网络请求。

连接层连[……]

继续阅读

OkHttp3源码和设计模式-1 ?>

OkHttp3源码和设计模式-1

《打车APP实战》课程中,我们使用 OkHttp3 简单搭建了一个网络框架, 实践了 OkHttp3 的用法。不过课程本身的重点是 MVP 架构的实践,所以没有进一步 OkHttp3 底层的实现细节。本文来探究一下 OkHttp3 的源码和其中的设计思想。

关于 OkHttp3 的源码分析的文章挺多,不过大多还是在为了源码而源码。个人觉得如果读源码不去分析源码背后的设计模式或设计思想,那么读源码的意义不大。 同时,如果熟悉的设计模式越多,那么读某个框架的源码的时候就越容易,两者是相辅相成的,这也是许多大牛认为多读源码能提高编程能力的原因。

整体架构

整体架构

为了方面后面的理解,我这里简单画[……]

继续阅读

区块链入门-概念原理篇 ?>

区块链入门-概念原理篇

比特币和区块链

2008年,中本聪发布了一篇名为《比特币:一种点对点的电子现金系统》论文,之所以选择在金融危机这年发布,也许别有深意。他认为传统货币最根本的问题在于信任,银行必须让人信任它能帮我们管好钱财,但是银行却在用货币制造信贷泡沫,通货膨胀使人财富缩水。首先中本聪把比特币定义为一种点对点的电子现金系统, 目的很明确:希望这套系统不要依赖任何一个中心,比如中央银行,所以这个系统肯定是分布式系统。
区块链的概念是在中本聪设计比特币系统的时候首次提出,也是区块链技术第一次得以落地并且运用得最成功的一次。比特币是一种业务场景, 区块链是比特币这种业务场景实现的技术基础,要了解区块链,先简单了解[……]

继续阅读