随笔分类 -  Android

Android开发的相关知识
摘要:协程的优势是什么? 很多人在看这篇文章前就差不多知道了什么是协程,网上也有很多的论调,比如轻量级的线程,减少了上下文切换的开销等等。我们也可以将协程简单的认为,协程就是将阻塞代码运行在另一个线程。 协程的出现对于我们程序员来说有什么好处呢?提升程序性能么?那仅仅是对程序而言。以我个人的角度看来,协程 阅读全文
posted @ 2021-12-07 18:14 YRLeaner 阅读(152) 评论(0) 推荐(0)
摘要:一 什么是Android Runtime Android Runtime是Android系统里面的核心模块之一。在编译Android代码后会生成APK文件,如果我们打开APK文件,会发现.dex后缀的文件,这些文件包含了了我们APP运行的所有源码,它们的表现形式为—— 字节码(byte code)。 阅读全文
posted @ 2021-12-07 18:06 YRLeaner 阅读(2851) 评论(0) 推荐(1)
摘要:一、背景 首先了解多渠道打包工具Walle之前,我们需要先明确一个概念,什么是渠道包。 我们要知道在国内有无数大大小小的APP Store,每一个APP Store就是一个渠道。当我们把APP上传到APP Store上的时候,我们如何知道用户在那个渠道下载我们的APP呢?如果单凭渠道供应商自己给的话 阅读全文
posted @ 2019-11-28 20:11 YRLeaner 阅读(1783) 评论(0) 推荐(0)
摘要:一、背景: 当我们在源码依赖的时候经常会导致一些问题。 我们的主工程有如下配置,它依赖了一个sample的本地工程 flavorDimensions "demo" productFlavors { flavor1 { dimension 'demo' } flavor2 { dimension 'd 阅读全文
posted @ 2019-09-29 20:18 YRLeaner 阅读(2335) 评论(0) 推荐(0)
摘要:欧陆战争之前玩的一款游戏。 一、破解准备、 jd-gui、apktool、欧陆战争apk、 二、破解过程、 首先第一步,自然是解压apk,得到App的dex文件,通过dex2jar将dex文件转成jar文件通过jd-gui程序查看Apk的源代码,我们这里可以看到代码是经过混淆的,但是没有经过加固。 阅读全文
posted @ 2019-01-11 19:57 YRLeaner 阅读(506) 评论(0) 推荐(0)
摘要:上一篇主要分析了Robust的使用方法,这一篇就来总结一下Robust的源码分析。 我个人倾向于将Robust框架分为两个部分,自动插入代码和动态加载Patch。 一、Robust源码分析 目前我的分析将Robust动态加载分为两个部分,一部分是插桩后的代码逻辑,一部分是拉取Patch的逻辑。 我们 阅读全文
posted @ 2018-05-01 20:29 YRLeaner 阅读(3015) 评论(0) 推荐(1)
摘要:最近需要在项目中使用热修复框架,在这里以美团的Robust为主写一篇文章总结一下学习的过程。 一直认为要学习一个框架的原理,首先需要让他跑起来,从效果反推回去,这样更容易理解。 一、美团Robust的使用 首先我们在编写代码前需要做如下准备 配置文件读写权限,6.0以上需要手动获取 <uses-pe 阅读全文
posted @ 2018-04-30 12:46 YRLeaner 阅读(2586) 评论(0) 推荐(0)
摘要:先上效果图 一、View的测量(刻度盘的大小测量) 在现实生活中,我们如果要去画一个图形,那么便要知道它的大小和位置。所以android绘图时需要我们对view进行测量。android为我们提供了onMeasure()方法来帮助我们去测量一个view,我们只需要重写onMeasur()方法,将我们测 阅读全文
posted @ 2017-08-29 11:41 YRLeaner 阅读(644) 评论(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 阅读(608) 评论(2) 推荐(1)
摘要:listview算是我们app中较为常用的控件之一了。而如何优化也是一个问题。 listview的优化一般分为两类。 一布局优化。 对布局的优化是大家了解的。 1、复用convertview。android中界面上有多少个条显示,就会调用多少次的getView()方法,每次都会使用View.infl 阅读全文
posted @ 2017-03-20 20:52 YRLeaner 阅读(221) 评论(0) 推荐(0)
摘要:一、简介 Android的消息机制主要是指Handler的运行机制,那么什么是Handler的运行机制那?通俗的来讲就是,使用Handler将子线程的Message放入主线程的Messagequeue中,在主线程使用。 二、学习内容 学习Android的消息机制,我们需要先了解如下内容。 消息的表示 阅读全文
posted @ 2017-02-01 11:51 YRLeaner 阅读(491) 评论(0) 推荐(1)
摘要:写事件分发源码分析的时候很纠结,网上的许多博文都是先分析的View,后分析ViewGroup。因为我一开始理解的时候是按我的流程图往下走的,感觉方向很对,单是具体分析的时候总是磕磕绊绊的,老要跳到View中去分析,很多方法理解不了,但毕竟流程清楚了许多,算是有得有失吧,不多说,开始分析。 继续根据流 阅读全文
posted @ 2017-01-01 16:03 YRLeaner 阅读(269) 评论(0) 推荐(0)
摘要:上节我们大致了解了事件分发机制的内容,大概流程,这一节来分析下事件分发的源代码。 我们先来分析ViewGroup中dispatchTouchEvent()中的源码 public boolean dispatchTouchEvent(MotionEvent ev){ if (actionMasked 阅读全文
posted @ 2017-01-01 12:49 YRLeaner 阅读(311) 评论(0) 推荐(0)
摘要:恢复内容开始 一、是什么 我们首先要了解什么是事件分发,通俗的讲就是,当一个触摸事件发生的时候,从一个窗口到一个视图,再到一个视图,直至被消费的过程。 二、做什么 在深入学习android的过程中,我们往往不知道为什么要去学习这些理论,它们枯燥,难懂,甚至在我们处于初级阶段进行开发时完全用不到这些理 阅读全文
posted @ 2016-12-18 19:28 YRLeaner 阅读(1358) 评论(0) 推荐(1)
摘要:一、Volley特点 通信更快,更简单(数据量不大,但网络通信频繁) Get、Post网络请求及网络图像的高效率异步处理 排序(可以通过网络请求的优先级进行处理) 网络请求的缓存 多级别取消请求 和Activity生命周期的联动 二、为什么使用Volley 高效的Get/Post方式的数据请求交互 阅读全文
posted @ 2016-12-01 12:39 YRLeaner 阅读(2199) 评论(0) 推荐(0)
摘要:一、引言 我们在多次启动同一个Activity时,系统默认会重复创建多个实例,这样看上去便十分的愚蠢,所以android在设计时提供了启动模式来修改系统的默认行为。目前有四种启动模式:standard、singleTop、singleTask和singleInstance。 二、如何设置启动模式 1 阅读全文
posted @ 2016-11-27 11:02 YRLeaner 阅读(888) 评论(0) 推荐(0)