自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个学渣走向android之路

坚持做自己懒得做但是正确的事情,你就能得到别人想得到却得不到的东西。...

原创 2018年博客之星评选,需要您宝贵的一票!非常感谢!

我正在参加CSDN 2018年博客之星评选,希望大家能投我一票,我在NO.018。 感谢大家宝贵的一票,投票地址: https://bss.csdn.net/m/topic/blog_star2018/index

2018-12-31 16:59:22 591 2

原创 2019请对2018的我好一点

回顾 细细回顾这一年,不知不觉,就要2019了,2018发生了太多太多事了。依旧记得去年给自己定了三个方向的目标。现在想来,只完成了一个半。感觉这一年都是忙忙碌碌的度过的,却又不知道都忙些了啥。那就写个总结吧。今年也是第三年写年终总结了。 工作与技术 在去年的年终总结中,我也有说,今年要换一份工作...

2018-12-29 19:59:19 2003 3

原创 回首2017,展望2018

前言回首2017,展望2018。心里有很多话想多,有些却没法用语言表达出来。这也是第二年开始写年终总结。记得去年的总结,没有好好的规划今年,导致今年都不知道干了什么。所以决定今天在此总结自己的一年的收获以及来年的规划。回首工作早期了解我的读者,都知道我前年因为工作的事在家休假了半年。今年正月十六来...

2018-01-02 08:58:25 1528 4

原创 为什么我要坚持写博客?

题记2017转眼即逝,这周已经是2017的最后一周了,今天我聊聊为什么要写博客。我从接触Android到现在,差一个月的时间就满三年了,写博客也写了两年半的时间了。从15年四月到现在。从阅读量很低,然后慢慢高起来,我记得今年年初的时候,我CSDN的访问量是3w左右,今年快结束了,我今天又看了一下,...

2017-12-27 09:34:53 2112 1

原创 我的微信公众号开通了

突发奇想,一个想法诞生了。于是乎,这个公众号就这么冲天而降了。10年接触c, 14年接触java,这都不是重点,15年年初接触Android。16年年初走向Android的不归路。我希望在本公众号分享一些我所学的心得。已经当初填的一些坑。当然,本公众号支持投稿。刚开始维护公众号或多或少有一些不懂的...

2017-07-29 18:54:13 1462 5

原创 2016,不忘初心;2017,方得始终!

前言本人文笔很差,重来都是想到哪写到哪。如果写的不是很好,见谅。至于这次总结。就打算从技术、工作以及生活来做个年终总结。生活篇群里每次有新人进群的时候都会问我工作多久。嗯,我工作才勉强一年。不要认为我是工作了很久,我才是一个刚进社会的小萌新。今年刚毕业。 在无锡呆了快一年了。熟悉了那里的生活。熟...

2017-01-26 22:12:08 2056 7

原创 如何在工作中快速成长?致工程师的十条建议。

前言 本文是我最近刚看完的一本《阿里工程师的自我修养》书中的部分内容,我做了简单的梳理。侵删。 思考脑与反射脑 简单介绍下什么是思考脑和反射脑。思考脑管理性,反射脑管直觉,存储脑管记忆,直觉依赖习惯,用直觉做出反应,快速,但未必正确;思考脑管理性,理性依赖逻辑,缓慢,但更加正确。 有科学家通过研...

2019-10-09 11:37:29 136 0

原创 设计模式之模块模式

概述 在模板模式中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 使用场景 多个子类有公共方法,并且逻辑基本相同时。 重要的、复杂的方法,可以考虑作为模板方法。 重构时,模板模式一般是最常用的,...

2018-12-17 10:18:59 303 1

原创 设计模式之外观模式

概述 外观模式中开发过程中使用率非常高。它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。 使用场景 为复杂的模块或子系统提供外界访问的模块。 子系统相对独立。 预防低水平人员带来的风险。 具体实现 publ...

2018-12-17 10:18:33 175 0

原创 设计模式之装饰模式

概述 装饰模式也称包装模式,其使用一种对客户端透明的方式来动态扩展对象,同时它也是继承关系的一种替代方式之一。举个例子:孙悟空有 72 变,当他变成"庙宇"后,他的根本还是一只猴子,但是他又有了庙宇的功能。 使用场景 扩展一个类的功能。 动态增加功能,动态撤销。 具体实现 ...

2018-12-17 10:18:04 226 0

原创 设计模式之桥接模式

概述 桥接模式是把抽象化和实现化进行解耦,使二者可以独立变化。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。 使用场景 如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的继承联系,通过桥...

2018-12-17 10:16:18 170 0

原创 设计模式之享元模式

概述 享元模式主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。 使用场景 系统中存在大量的相似对象。 需要缓冲池的场景。 具体实现 public interface Ticket { pub...

2018-12-14 15:59:00 102 0

原创 设计模式之适配器模式

概述 适配器模式中开发中可以说是使用率最高的设计模式了。在listview、recyclerview中都需要使用适配器模式,并且在开发中遇到最多的问题也往往是在adapter中。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器...

2018-12-14 15:58:31 97 0

原创 设计模式之组合模式

概述 组合模式又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。 使用场景 部分、整体场景,如树形...

2018-12-14 15:57:59 95 0

原创 设计模式之代理模式

概述 代理模式也称为委托模式,这种模式在开发和生活中都很常见,比如猪八戒去找高翠兰结果是孙悟空变的,可以这样理解:把高翠兰的外貌抽象出来,高翠兰本人和孙悟空都实现了这个接口,猪八戒访问高翠兰的时候看不出来这个是孙悟空,所以说孙悟空是高翠兰代理类。 还有让同学,同事带饭也是一种代理。总而言之,代理模...

2018-12-14 15:57:34 113 0

原创 设计模式之访问者模式

概述 访问者模式是一种将数据结构和数据操作分离的设计模式,它是设计模式中最复杂的一个,一般来说,它的使用概率并不高,但当你真当使用它时,你就真的需要它了。元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上...

2018-12-14 15:57:05 82 0

原创 设计模式之中介者模式

概述 中介者模式是用来降低多个对象和类之间通信的复杂性。当某些对象之间的作用发生改变时,不会立即影响其他的一些对象之间的作用。保证这些作用可以彼此独立变化。 使用场景 系统中对象之间存在比较复杂的引用关系,导致它们之间的依赖关系结构混乱而且难以复用该对象。 想通过一个中间类来封装多个类中的行为,...

2018-12-14 15:56:35 108 0

原创 设计模式之迭代器模式

概述 迭代器模式又称游标模式,是行为性模式之一。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 使用场景 访问一个聚合对象的内容而无须暴露它的内部表示。 需要为聚合对象提供多种遍历方式。 为遍历不同的聚合结构提供一个统一的接口。 具体实现 我们将创建一个叙述导航方法的 It...

2018-12-14 15:55:54 88 0

原创 设计模式之备忘录模式

概述 备忘录模式是一种行为模式,该模式用于保存当前对象,并且在之后可以再次恢复到此状态。这有点像我们平时说的“后悔药”。备忘录模式实现的方式需要保证被保存的对象不能被对象从外部访问,目的是为了保护好被保存的这些对象的状态的完整性以及内部实现不像外暴露。 使用场景 需要保存/恢复数据的相关状态场景...

2018-12-14 15:55:25 133 0

原创 设计模式之观察者模式

概述 观察者模式是一个使用频率非常高的设计模式。不过这个模式的一个重要作用就是解耦,将被观察者和观察者解耦,使得他们的依赖性变小,甚至做到毫无依赖。它是一种定义对象间一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 使用场景 关联行为场景,需要注意的是,关...

2018-12-14 15:54:51 138 0

原创 设计模式之命令模式

概述 命令模式相对于其他模式没有那么多的规定,因为它不是一个很规矩的模式。不过,正因为这一点,命令模式对比其他设计模式更为灵活。我们接触比较多的命令模式无非开关机。我们点击关机命令时,它会先暂停事件,然后结束所有进程,最后关机。也就是说我只需要点击一个关机按钮就可以做到这一系列的命令。而我们的命令...

2018-12-14 15:54:18 100 0

原创 设计模式之解释器模式

概述 解释器模式一般来说,我们用的比较少,它提供了一种解释语言的语法或者表达式的方式,比如说1+2,我们可以通过解释器模式告诉你这是一个加法。 使用场景 如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释...

2018-12-14 15:53:50 67 0

原创 设计模式之责任链模式

概述 责任链模式,顾名思义,它是一个链式模型,这种模式给予请求的类型,对请求的发送者和接收者进行解耦。对于这种结构,每个节点可以拆分在链接,所以,这种模式有着较好的灵活性。 使用场景 多个对象处理同一个请求 在请求处理者不明确的情况下向多个对象中的一个提交一个请求。 需要动态指定一组对象处理请求...

2018-12-14 15:53:14 186 0

原创 设计模式之状态模式

概述 在状态模式中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。状态模式是把所有的行为包装在不同的状态对象中,意在是让一个对象在其内部改变的时候,他的行为也跟着改变。 使用场景 1、行为随状态改变而改变的场景。 2、代码中包含大量的条件语句,比如if-else和switch-c...

2018-12-14 15:52:40 79 0

原创 设计模式之策略模式

概述 策略模式在我们日常开发中也是经常遇见的。比如实现某一个功能有多种算法或者策略。我们根据具体情况去实现它。例如:排序算法,我们可以使用插入、冒泡、快排等等。 针对这种情况,我们一般将多个策略写在一个工具类中去方便调用。我们需要A策略就是调用A方法,需要B策略就调用B方法。 如果将这些算法或者策...

2018-12-14 15:52:07 62 0

原创 设计模式之抽象工厂模式

概述 前面我们已经说到了工厂模式,现在我们扯扯抽象工厂模式。从字母意思理解下,工厂也就是会生产指定的产品。那么抽象工厂就意味着生产出来的产品不是指定的。往简单点说,抽象工厂就是为创建一组相关或者相互依赖的对象提供一个接口,而不需要指明他们的具体类。 使用场景 一个产品族有相同的约束时可以使用抽象工...

2018-12-14 15:51:27 53 0

原创 设计模式之工厂模式

概述 工厂模式在我们平常开发中应用比较广泛,或许你不知道,但你已经使用了很多次了。我们明确地计划不同条件下创建不同实例时,就会使用到工厂模式。工厂模式分为简单工厂模式和抽象工厂模式。这边我们先说简单的工厂模式。 使用场景 在任何需要生成复杂的对象的地方,都可以使用工厂模式。复杂对象适合使用工厂模式...

2018-12-14 15:50:54 47 0

原创 设计模式之原型模式

概述 原型模式是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对...

2018-12-14 15:50:23 45 0

原创 设计模式之建造者模式

概述 建造者模式又称Builder模式,它是一步步创建一个复杂的对象然后进行构建。可以精准的控制对象的构造过程。此模式是将构建复杂对象的过程与它的部件解耦,使得构建过程和部件的表示隔离开来。 一个对象有很多复杂的信息,比如人,有身高,体重,性别,姓名,年龄等等。如何将这些信息给组合起来,然后形成这...

2018-12-14 15:49:42 47 0

原创 设计模式之单例模式

概述 单例模式是应用最广的设计模式之一。也可能是很多初级工程师唯一会使用的设计模式。从字面意思,单例模式就是单例对象的类必须保证只有一个实例的存在,而且自行实例化并向整个系统提供这个实例。例如,创建一个对象需要消耗太多的资源,如要访问IO和数据库等资源,这时需要考虑单例模式。 懒汉单例模式 线程不...

2018-12-14 15:49:10 70 0

原创 设计模式之六大设计原则

概述 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。 而设计原则则是设...

2018-12-14 15:47:13 69 0

原创 Android的消息机制

概述 说到Android的消息机制,我们肯定会想到Handler。是的,Android的消息机制主要是指Handler的运行机制以及Handler所附带的MessageQueue和Looper的工作过程。当我们工作的时候我们只要接触到Handler就可以了。 Android的消息机制主要是指han...

2018-09-25 16:05:01 131 0

原创 android的线程和线程池

概述 线程中Android中是很重要的一个概念。从用途上来说,线程分为主线程和子线程。主线程主要用于界面上的交互,而子线程主要用于一些耗时操作。除了thread之外,在Android中可以扮演线程角色的还有很多。例如Asnyctask、IntentService以及handlerthread。对于...

2018-09-25 16:03:14 178 1

原创 彻底理解Window的添加,删除,更新过程

概述 Window表示一个窗口,但在日常开发中我们接触的不多。我们常见的如Toast和PopWindow都是属于Window。Window是一个抽象类,而Window的具体实现类是PhoneWindow。如果我们需要创建一个Window,只需要通过WindowManager去实现。而它的具体实现...

2018-09-17 14:42:23 742 0

原创 我们熟悉的Context到底是什么?

Context基本概念 先看一下Context源码,代码如下: /** * Interface to global information about an application environment. This is * an abstract class whose im...

2018-09-14 17:44:54 178 0

原创 红黑树真的没你想的那么难

概述 TreeMap是红黑树的java实现,红黑树能保证增、删、查等基本操作的时间复杂度为O(lgN)。 首先我们来看一张TreeMap的继承体系图: 还是比较直观的,这里来简单说一下继承体系中不常见的接口NavigableMap和SortedMap,这两个接口见名知意。先说Navi...

2018-07-06 23:42:18 18299 3

原创 找工作时,我们应该思考的几件事情。

现在身为跳槽高峰季,作为即将跳槽的我,在这里分享几点建议给大家。 简历怎么投? 众所周知,找工作的前提是面试,面试的前提是过了简历,过了简历的前提是你怎么投。这边我不分析简历怎么写。来说说怎么投。在座的各位,有在校生,有毕业生,还有工作几年的。 先说说在校生。其实,现在的在校生可能不比哪些...

2018-04-27 16:29:00 278 1

原创 我所经历的Android面试

概述 时隔一个多月,我又回来了。这段时间有不少人问我最近在干嘛,面经什么时候写,怎么这么久没更文了等等等等。当然了,最近我一直在执行了一次我计划了近半年的跳槽。总得而言还不错。说下我的情况。我是去年九月份开始计划,十一月份开始准备,投了100+家公司,拿到了20+个面试,总共面试了四家,拿到了3...

2018-04-21 16:07:53 1009 2

原创 Activity生命周期详解

Activity是什么? Activity是用户和应用程序交互的界面,用户可以在Activity上进行点击、滚动、触摸等操作。一般来说,一个应用是由多个Activity组成,首次进入的Activity称为主Activity。至于如何判断一个Activity是不是主Activity。本篇文章我们先...

2018-01-29 16:45:04 621 0

原创 View的绘制流程源码分析

概述 View的绘制流程主要是指测量、布局以及绘制显示,在View中,measure是测量View的宽高,layout是控制View四个顶点的位置,而draw就是将布局直接绘制出来。 Measure流程 measure的流程氛围View的measure流程以及ViewGroup的measur...

2018-01-16 14:38:26 789 0

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