摘要: Android应用运行在后台的时候,经常被系统的LowMemoryKiller杀掉,当用户再次点击icon或者从最近的任务列表启动的时候,进程会被重建,并且恢复被杀之前的现场。什么意思呢?假如APP在被杀之前的Activity堆栈是这样的,A<B<C,C位于最上层 APP被后台杀死后,APP端进程被 阅读全文
posted @ 2020-12-09 15:59 chenxibobo 阅读(1113) 评论(0) 推荐(0) 编辑
摘要: RxJava背压主要用来解决异步订阅关系中,被观察者发送事件的速度与观察者接收事件的速度不匹配的问题。所谓背压,即生产者的速度大于消费者的速度带来的问题,比如在Android中常见的点击事件,点击过快则经常会造成点击两次的效果。在大多数情况下,由于被观察者发送事件速度太快,而观察者来不及响应处理所有 阅读全文
posted @ 2020-12-09 15:57 chenxibobo 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 文章目录 一、本地单元测试 1. 创建测试类 2. Assert类中的常用断言方法 3. 运行测试类 4. 运行单个测试方法或多个测试类 二、Mockito测试框架的使用 1. Mock概念的理解 2. Mockito中几种Mock对象的方式 3. 验证行为 verify(T mock)函数的使用 阅读全文
posted @ 2020-12-09 15:55 chenxibobo 阅读(830) 评论(0) 推荐(2) 编辑
摘要: smali文件格式 每个smali文件都由若干条语句组成,所有的语句都遵循着一套语法规则。在smali 文件的头3 行描述了当前类的一些信息,格式如下: [java] view plain copy .class < 访问权限> [ 修饰关键字] < 类名> .super < 父类名> .sourc 阅读全文
posted @ 2020-12-09 15:51 chenxibobo 阅读(2540) 评论(0) 推荐(0) 编辑
摘要: Base64概念 什么是Base64? 按照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。(The Base64 Content-Transfer-Encoding is designed to represent 阅读全文
posted @ 2020-12-09 15:49 chenxibobo 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 1、什么是JVM? JVM本质上就是一个软件,是计算机硬件的一层软件抽象,在这之上才能够运行Java程序,JAVA在编译后会生成类似于汇编语言的JVM字节码,与C语言编译后产生的汇编语言不同的是,C编译成的汇编语言会直接在硬件上跑,但JAVA编译后生成的字节码是在JVM上跑,需要由JVM把字节码翻译 阅读全文
posted @ 2020-12-09 15:43 chenxibobo 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 1.网络基础 1.1 计算机网络分层 计算机网络分为五层:物理层、数据链路层、网络层、运输层、应用层 其中: 网络层:负责根据IP找到目的地址的主机 运输层:通过端口把数据传到目的主机的目的进程,来实现进程与进程之间的通信 1.2 端口号(PORT) 端口号规定为16位,即允许一个IP主机有2的16 阅读全文
posted @ 2020-12-09 15:39 chenxibobo 阅读(2194) 评论(0) 推荐(0) 编辑