前言 最近在做Android蓝牙这部分内容,所以查阅了很多相关资料,在此总结一下。 基本概念 Bluetooth是一种短距离(10米)的无线通信技术标准,蓝牙协议分为4层,即...
[TOC] 差分升级 一. 什么是差分升级 将已安装的apk和最新的apk进行二进制对比,得到差分包。用户升级的时候只需要下载差分包,在本地使用差分包和已安装的apk合成新...
杜拉拉奋斗3年,却没能升职。 如何迅速提升自己,是她每天焦虑的心病。 她的一天从《罗辑思维》开始,边洗漱边听罗胖掰扯,地铁上抽空打卡背单词;上班一通忙,歇下来刷刷知乎,订阅的...
基础概念 程序是指令和数据的组合体,被复制到内存才能运行。 内存地址是保存指令和数据的场所,通过地址标记。 CPU 能识别和执行的只有机器语言。 CPU 结构 CPU 内部由...
介绍 setup:即new 出待测试的类,设置一些前提条件 执行动作:即调用被测类的被测方法,并获取返回结果 验证结果:验证获取的结果跟预期的结果是一样的 Junit4 ja...
常用操作符 Observable.from() 它接收一个集合作为输入,然后每次输出一个元素给subscriber,将集合依次发送, map 用来把把一个事件转换为另一个事件...
年轻就应该多挣点钱,才有能力去看更大的世界,找到自己真正想要的东西。
参考https://wiki.cyanogenmod.org/w/Adb_--help 记录一些以后常用的adb命令 adb reboot 重启 adb reboot boo...
定时任务 Rx Timer Timer timer = new Timer(); TimerTask timerTask = new TimerTask() { ...
flux&redux state&reducer Action 有事情发生了 Store 数据的唯一来源, store.dispatch()将action传到store Ac...
从加载流程来分析 处理下载之后的修复包: 调用TinkerInstaller的onReceiveUpgradePatch方法,在这个方法里面初始化Tinker类,并且调用Pa...
讲的不错!业务需要,研究正好看到!
Tinker源码分析一从加载流程来分析 处理下载之后的修复包: 调用TinkerInstaller的onReceiveUpgradePatch方法,在这个方法里面初始化Tinker类,并且调用Pa...
年轻就应该多挣点钱,才有能力去看更大的世界,找到自己真正想要的东西。
姑娘,你为什么要那么拼命努力挣钱?01 我现在在非洲阿尔及利亚,某个地方的一个五平米的小屋子里写文。 白天上班,晚上看书写文。晚上从不出门,因为没有任何其他活动。从没有朋友聚会,因为在非洲没有什么朋友。一个人...
01 我现在在非洲阿尔及利亚,某个地方的一个五平米的小屋子里写文。 白天上班,晚上看书写文。晚上从不出门,因为没有任何其他活动。从没有朋友聚会,因为在非洲没有什么朋友。一个人...
StateMachine 的简单使用 步骤 源码的frameworks/base/core/java/com/android/internal/util里面把StateMac...
Tinker 处理patch流程 按推荐方式使用编译注解生成Application 1. Application 加载已合成的patch 加载patch 入口从注册的Appl...