自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

转载 多flavor导致的源码依赖问题-- Cannot choose between the following configurations of project :sample:...

一、背景:  当我们在源码依赖的时候经常会导致一些问题。  我们的主工程有如下配置,它依赖了一个sample的本地工程 flavorDimensions "demo" productFlavors { flavor1 { dimension 'demo' } flavor2...

2019-09-29 20:18:00 344

转载 美团热修复Robust-源码篇

  上一篇主要分析了Robust的使用方法,这一篇就来总结一下Robust的源码分析。  我个人倾向于将Robust框架分为两个部分,自动插入代码和动态加载Patch。一、Robust源码分析  目前我的分析将Robust动态加载分为两个部分,一部分是插桩后的代码逻辑,一部分是拉取Patch的逻辑。  我们首先来看插桩后的代码(这里面套用的是官方的代码,可能有些过时了)...

2018-05-01 20:29:00 275

转载 美团热修复Robust的踩坑之旅-使用篇

  最近需要在项目中使用热修复框架,在这里以美团的Robust为主写一篇文章总结一下学习的过程。  一直认为要学习一个框架的原理,首先需要让他跑起来,从效果反推回去,这样更容易理解。  一、美团Robust的使用  首先我们在编写代码前需要做如下准备  配置文件读写权限,6.0以上需要手动获取   <uses-permission android:n...

2018-04-30 12:46:00 399

转载 自定义view(结合刻度盘学习)

先上效果图一、View的测量(刻度盘的大小测量)  在现实生活中,我们如果要去画一个图形,那么便要知道它的大小和位置。所以android绘图时需要我们对view进行测量。android为我们提供了onMeasure()方法来帮助我们去测量一个view,我们只需要重写onMeasur()方法,将我们测算长宽设置给setMeasuredDimension()。 ...

2017-08-29 11:41:00 130

转载 算法——回溯方法

一、回溯方法  回溯方法通常用在:从一个指定集合中选择一个对象序列,使该序列满足某一标准。  所谓回溯,我们将问题构建成一个树,在确定一个节点只会引向死胡同时,我们回退到该节点的父节点,在下一个节点继续查找。二、透过问题分析算法  n皇后问题  n皇后问题是指我们在nxn的棋盘上放置n个皇后,使任何两个皇后之间不相互威胁。即他们不在同一行、同一列,同一对角线。  ...

2017-03-25 20:15:00 375

转载 Android解析json数据

Json数据[{"code":"110000","sheng":"11","di":"00","xian":"00","name":"北京市","level":1}, {"code":"659004","sheng":"65","di":"90","xian":"04","name":"五家渠市","level":3}, {"code":"710000","sheng":"71"...

2017-03-21 20:39:00 97

转载 ListView的优化问题

 listview算是我们app中较为常用的控件之一了。而如何优化也是一个问题。  listview的优化一般分为两类。  一布局优化。    对布局的优化是大家了解的。    1、复用convertview。android中界面上有多少个条显示,就会调用多少次的getView()方法,每次都会使用View.inflate(….)的方法,都要将xml文件解析,并显示...

2017-03-20 20:52:00 95

转载 算法——贪心算法

一、贪心算法。  贪心算法常应用于求解最优化问题,它通过一系列的选择来获得答案,且每次选择只考虑此时的最佳答案,即它的每次选择都是局部最优的。  它的适用范围,当我们能通过局部最优解产生全局最优解时选择。  它通常包含以下几个步骤。  选择过程:选择要添加到答案的下一个项目。满足当时的某一局部最优考虑因素。  可行性检查:检查新集合是否可能给出实例的解,以此判断该集合...

2017-03-18 12:41:00 112

转载 算法——动态规划

  每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。它与分而治之都是将一个问题的实例划分为较小的实例。  谈到动态规划,我们首先要理解它是什么意思,这里的“规划”意味着使用一个在其中存有答案的数组。什么意思那?我们说到分而治之的方法时,例如计算斐波那契序列时,往往在递归过程中会计算很多重复...

2017-03-14 19:58:00 91

转载 算法——分而治之大数相乘

分而治之是我们学习算法时遇到的第一种方法,它的原理很简单。 1、将一个问题的实例划分为一个或较多个较小的实例/ 2、解决每一个较小的实例。 3、合并较小的实例,获得原实例的答案。 我们通过分而治之的方法解决的问题,大致有我们曾接触过的快排,Strassen矩阵乘法,大整数乘法。我们往往做题中接触最多的便是大整数乘法,今天我们就以此为例来解释一下分而治之的思想,并...

2017-03-11 12:44:00 144

转载 Java反射机制--是什么,为什么,怎么用。

  往往当我们面对一项新的知识时,我们往往需要知道三个方面,它是什么,它能做什么,它比原有知识强在哪里,我们该怎么使用它。当你能够解决这些问题时,便意味着你已经对这项知识入门了。一、是什么  Java Reflaction in Action有这么一句话,可以解释。反射是运行中的程序检查自己和软件运行环境的能力,它可以根据它发现的进行改变。通俗的讲就是反射可以在运行时根据指定的类...

2017-03-04 12:21:00 1038

转载 Android的消息机制

一、简介  Android的消息机制主要是指Handler的运行机制,那么什么是Handler的运行机制那?通俗的来讲就是,使用Handler将子线程的Message放入主线程的Messagequeue中,在主线程使用。二、学习内容  学习Android的消息机制,我们需要先了解如下内容。消息的表示:Message消息队列:MessageQueue消息循环,用...

2017-02-01 11:51:00 88

转载 Android事件分发机制浅谈(三)--源码分析(View篇)

写事件分发源码分析的时候很纠结,网上的许多博文都是先分析的View,后分析ViewGroup。因为我一开始理解的时候是按我的流程图往下走的,感觉方向很对,单是具体分析的时候总是磕磕绊绊的,老要跳到View中去分析,很多方法理解不了,但毕竟流程清楚了许多,算是有得有失吧,不多说,开始分析。 继续根据流程,先分析View的dispatchTouchEvent()方法,看...

2017-01-01 16:03:00 92

转载 Android事件分发机制浅谈(二)--源码分析(ViewGroup篇)

上节我们大致了解了事件分发机制的内容,大概流程,这一节来分析下事件分发的源代码。 我们先来分析ViewGroup中dispatchTouchEvent()中的源码public boolean dispatchTouchEvent(MotionEvent ev){if (actionMasked == MotionEvent.ACTION_DO...

2017-01-01 12:49:00 99

转载 Android事件分发机制浅谈(一)

---恢复内容开始---一、是什么 我们首先要了解什么是事件分发,通俗的讲就是,当一个触摸事件发生的时候,从一个窗口到一个视图,再到一个视图,直至被消费的过程。二、做什么 在深入学习android的过程中,我们往往不知道为什么要去学习这些理论,它们枯燥,难懂,甚至在我们处于初级阶段进行开发时完全用不到这些理论。 所以我们要学会一些技术...

2016-12-18 19:28:00 99

转载 Android--Volley框架的使用

一、Volley特点 通信更快,更简单(数据量不大,但网络通信频繁) Get、Post网络请求及网络图像的高效率异步处理 排序(可以通过网络请求的优先级进行处理) 网络请求的缓存 多级别取消请求 和Activity生命周期的联动二、为什么使用Volley 高效的Get/Post方式的数据请...

2016-12-01 12:39:00 119

转载 Android进阶--Acticivity的启动模式

一、引言 我们在多次启动同一个Activity时,系统默认会重复创建多个实例,这样看上去便十分的愚蠢,所以android在设计时提供了启动模式来修改系统的默认行为。目前有四种启动模式:standard、singleTop、singleTask和singleInstance。二、如何设置启动模式 1.我们可以通过AndroidMenifest为Activity...

2016-11-27 11:02:00 3764

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除