摘要: 协程的优势是什么? 很多人在看这篇文章前就差不多知道了什么是协程,网上也有很多的论调,比如轻量级的线程,减少了上下文切换的开销等等。我们也可以将协程简单的认为,协程就是将阻塞代码运行在另一个线程。 协程的出现对于我们程序员来说有什么好处呢?提升程序性能么?那仅仅是对程序而言。以我个人的角度看来,协程 阅读全文
posted @ 2021-12-07 18:14 YRLeaner 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 一 什么是Android Runtime Android Runtime是Android系统里面的核心模块之一。在编译Android代码后会生成APK文件,如果我们打开APK文件,会发现.dex后缀的文件,这些文件包含了了我们APP运行的所有源码,它们的表现形式为—— 字节码(byte code)。 阅读全文
posted @ 2021-12-07 18:06 YRLeaner 阅读(797) 评论(0) 推荐(1) 编辑
摘要: 一、背景 首先了解多渠道打包工具Walle之前,我们需要先明确一个概念,什么是渠道包。 我们要知道在国内有无数大大小小的APP Store,每一个APP Store就是一个渠道。当我们把APP上传到APP Store上的时候,我们如何知道用户在那个渠道下载我们的APP呢?如果单凭渠道供应商自己给的话 阅读全文
posted @ 2019-11-28 20:11 YRLeaner 阅读(1220) 评论(0) 推荐(0) 编辑
摘要: 一、背景: 当我们在源码依赖的时候经常会导致一些问题。 我们的主工程有如下配置,它依赖了一个sample的本地工程 flavorDimensions "demo" productFlavors { flavor1 { dimension 'demo' } flavor2 { dimension 'd 阅读全文
posted @ 2019-09-29 20:18 YRLeaner 阅读(1511) 评论(0) 推荐(0) 编辑
摘要: 欧陆战争之前玩的一款游戏。 一、破解准备、 jd-gui、apktool、欧陆战争apk、 二、破解过程、 首先第一步,自然是解压apk,得到App的dex文件,通过dex2jar将dex文件转成jar文件通过jd-gui程序查看Apk的源代码,我们这里可以看到代码是经过混淆的,但是没有经过加固。 阅读全文
posted @ 2019-01-11 19:57 YRLeaner 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 上一篇主要分析了Robust的使用方法,这一篇就来总结一下Robust的源码分析。 我个人倾向于将Robust框架分为两个部分,自动插入代码和动态加载Patch。 一、Robust源码分析 目前我的分析将Robust动态加载分为两个部分,一部分是插桩后的代码逻辑,一部分是拉取Patch的逻辑。 我们 阅读全文
posted @ 2018-05-01 20:29 YRLeaner 阅读(2566) 评论(0) 推荐(1) 编辑
摘要: 最近需要在项目中使用热修复框架,在这里以美团的Robust为主写一篇文章总结一下学习的过程。 一直认为要学习一个框架的原理,首先需要让他跑起来,从效果反推回去,这样更容易理解。 一、美团Robust的使用 首先我们在编写代码前需要做如下准备 配置文件读写权限,6.0以上需要手动获取 <uses-pe 阅读全文
posted @ 2018-04-30 12:46 YRLeaner 阅读(2146) 评论(0) 推荐(0) 编辑
摘要: 先上效果图 一、View的测量(刻度盘的大小测量) 在现实生活中,我们如果要去画一个图形,那么便要知道它的大小和位置。所以android绘图时需要我们对view进行测量。android为我们提供了onMeasure()方法来帮助我们去测量一个view,我们只需要重写onMeasur()方法,将我们测 阅读全文
posted @ 2017-08-29 11:41 YRLeaner 阅读(522) 评论(0) 推荐(0) 编辑
摘要: 一、回溯方法 回溯方法通常用在:从一个指定集合中选择一个对象序列,使该序列满足某一标准。 所谓回溯,我们将问题构建成一个树,在确定一个节点只会引向死胡同时,我们回退到该节点的父节点,在下一个节点继续查找。 二、透过问题分析算法 n皇后问题 n皇后问题是指我们在nxn的棋盘上放置n个皇后,使任何两个皇 阅读全文
posted @ 2017-03-25 20:15 YRLeaner 阅读(284) 评论(0) 推荐(0) 编辑
摘要: Json数据 [{"code":"110000","sheng":"11","di":"00","xian":"00","name":"北京市","level":1}, {"code":"659004","sheng":"65","di":"90"," 阅读全文
posted @ 2017-03-21 20:39 YRLeaner 阅读(576) 评论(2) 推荐(1) 编辑