一. 核心思想 策略模式定义了一系列算法,并将每一个算法封装起来,他们之间可以相互切换。 解释: 同级的东西可以互相切换. 例如: 现在主流的图片框架有glide、picasso、fresco, 我项目中用的是picas…
分类:Android
win 10 Genymotion unable to start the virtual device
新换的笔记本是win10系统,安装了Genymotion之后,打开一个虚拟机,报了这个错误,而在VirtualBox中直接打开则会报这个错误 Faile…
Android merge减少布局层级
原文链接 更多教程 你将学到 1.merge 标签的 使用方法 2.merge 标签的 使用注意点 3.merge 标签的 使用例子 merge标签介绍 在使用 include标签将布局导入其他布局时,可能引入冗余的布局…
后端接口拆分导致的问题
项目中遇到这样一个场景: 1.有个页面需要先输入用户手机号,然后发送短信验证码; 2.输入完短信验证码后,再弹出一个交易密码的弹框; 后台把这两步分别使用2个接口来校验信息,第一个接口传入参数 手机号和短信验证码,校验成…
Android 随时退出程序
使用自定义的类管理 Activity 列表,然后,在需要的地方,通过自定义类提供的接口,结束所有的 Activity: import android.app.Activity; import java.util.Arra…
LevelListDrawable
LeveListDrawable通常用来管理一组Drawable资源,通过LeveListDrawable的控制,我们可以很方便的实现这些Drawable资源的现实切换。LeveListDrawable里面的每一个dra…
阅读Android开源项目的新姿势---学习了
作为一个程序员必须会使用 GitHub 吧 ,这是好事,多接触多了解一些开源项目,对自己之后的项目中的开发效率有很大提高。但是,阅读开源项目有没有get到最新的姿势呢。 首先说明下,这里的「阅读」是泛指,对于 Andro…
Android进阶——多线程系列之Thread、Runnable、Callable、Future、FutureTask
前言 多线程一直是初学者最抵触的东西,如果你想进阶的话,那必须闯过这道难关,特别是多线程中Thread、Runnable、Callable、Future、FutureTask这几个类往往是初学者容易搞混的。这里先总结这几…
面试必备:LinkedList源码解析(JDK8)
转载请标明出处: http://www.jianshu.com/p/e69557b217c0 本文出自:【张旭童的简书】 (http://www.jianshu.com/users/8e91ff99b072/latest…
Android Support Design 中 CoordinatorLayout 与 Behaviors 初探
在Android M Preview发布后,我们获得了一个新的support library —— Android Design Support Library 用来实现Google的Material Design 提供…
SparseArray 稀疏数组源码分析
SparseArray sparse 稀疏 介绍 SparseArray 用来实现 int 类型与 Object 类型的映射,跟普通的 Map 不同,普通 Map 中有更多的空索引,对比 HashMap 来说,稀疏数组实…
Java 线程池相关概念
1. 优点: (1) 提高资源利用率,线程池可以重复利用已经创建了的线程。(2) 提高响应速度,当线程池中线程数量没有超过最大上限的时候,有些线程出于等待分配任务状态,当任务来到时,可以直接执行,无需创建操作。(3) 具…