学如不及,犹恐失之

Reading The Fuck Source Code 。。。

Mac上搭建Flutter开发环境(Android模拟器和IOS模拟器开发)

前言 最近公司要求使用跨平台语言开发新的应用,这几天也对比了ReactNative和Flutter,最终决定入坑Flutter,今天刚配置完Flutter的开发环境,Flutter中文网也有相应的安装开发环境的介绍,这里主要是站在一个Android开发者的角度详细的记录在MAC电脑上配置的步骤和遇...

2019-04-09 00:17:35

阅读数 546

评论数 3

Linux系统上Gitlab安装、汉化和邮箱配置笔记

简介 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务,可通过Web界面进行访问公开的或者私人项目。 环境要求 内存:2G以上 安装步骤 1、配置yum源 vim /etc/yum.repos.d/gitlab-ce.repo 添加以下...

2019-03-27 14:34:19

阅读数 31

评论数 0

Java 集合全面整理

概述 在实际开发中,我们经常会对一组相同类型的数据进行统一的管理操作,到目前为止,我们可以使用的数组结构,链表结构,二叉树结构来实现; 数组的最大问题在于数组中的元素个数是固定的,要实现动态数组,毕竟还是比较麻烦,自己实现链表或者二叉树结构来管理对象更是不方便; 在JDK1.2版本后,JAVA完...

2018-11-21 22:40:12

阅读数 79

评论数 0

Android内存泄漏全面总结

概述 内存泄漏伴随着整个APP的开发过程,一个对象内存泄漏可能你不会在意,但是一个对象反复内存泄漏或者多个对象同时内存泄漏,将导致你的APP内存直线上升,严重的还会导致OOM直接crash,所以我们在开发中应该及时发现内存泄漏并且修复它是非常必要的,今天我们在总结一下各种内存泄漏的场景和修复...

2018-11-12 23:00:16

阅读数 50

评论数 0

LeakCanary原理分析

概述 在上一篇LeakCanary使用详细教程中,我们熟悉了LeakCanary的使用和初步描述了它的工作机制,这篇我准备从源码的角度去分析LeakCanary的工作原理; 源码分析 从上一篇中我们知道,LeakCanary在Appaction的初始化方式: @Override public vo...

2018-11-03 21:38:04

阅读数 158

评论数 0

Android面试总结--Android篇

Activity生命周期 图中需要注意一下几点: 1.Activity实例是由系统自动创建,并在不同的状态期间回调相应的方法。一个最简单的完整的Activity生命周期会按照如下顺序回调:onCreate -> onStart -&gt...

2018-10-10 10:45:24

阅读数 253

评论数 0

Android面试总结 -- Java篇

Object类的equal和hashCode方法重写,为什么? 首先equals与hashcode间的关系是这样的: 1、如果两个对象相同(即用equals比较返回true),那么它们的hashCode值一定要相同; 2、如果两个对象的hashCode相同,它们并不一定相同(即用equals...

2018-10-10 10:42:55

阅读数 122

评论数 0

LeakCanary使用详细教程(附Demo)

导语 在Android的性能优化中,内存优化是必不可少的点,而内存优化最重要的一点就是解决内存泄漏的问题,在Android的内存泄漏分析工具也不少,比如PC端的有:AndroidStudio自带的Android Profiler、MAT等工具;手机端也有,就是我们今天要介绍的LeakCan...

2018-09-05 17:55:27

阅读数 2845

评论数 2

论23种设计模式在Android源码中的应用--单例模式

概念 单例模式就是整个系统有且只有一个唯一的对象,单例模式思想相对比较简单,但是确保整个系统有且只有一个对象,需要注意几个点: - 构造函数必须是private; - 通过一个静态方法返回单例类对象; - 在多线程下注意单例模式的创建; - 确保单例类对象在反系列...

2018-07-31 23:38:28

阅读数 130

评论数 0

Sonar使用完整图文教程(Ubantu服务器、AndroidStudio工程)

在这一篇我们主要介绍Sonar的使用方式,如果你还没有安装Sonar的话,可以看一下上一篇内容Sonar的安装配置教程,详细的介绍了Sonar服务的安装配置步骤以及提供了所需的所有安装包; 如果已经安装好了Sonar服务就可以开始使用Sonar检测我们的代码了,先来温习一下什么是Sonar ...

2018-07-24 23:37:49

阅读数 2247

评论数 0

Sonar在Windows下的安装配置(图文 附安装包)

Sonar是什么? Sonar是一个用于代码质量管理的开源平台,用于管理代码的质量,通过插件形式可以支持二十几种语言的代码质量检测,通过多个维度的检查了快速定位代码中潜在的或者明显的错误; SonarQube与Sonar SonarQube是sonar的服务端,相当于一个web服务器中的...

2018-07-22 23:39:11

阅读数 4032

评论数 7

论23种设计模式在Android源码中的应用--面向对象六大基本原则

单一职责原则 单一职责原则(Single Responsibility Principle 缩写:SRP) 定义:就一个类而言,应该仅有一个引起它变化的原因。 听起来也许很抽象,简单的说就是:一个类(方法)不能担任太多的职责,因为过多的职责意味着复用的可能就越小、职责耦合就越高,当...

2018-07-21 22:23:06

阅读数 34

评论数 0

论23种设计模式在Android源码中的应用--概述篇

前言 当你求职面试的时候是否有这样当经历,面试官问你: 你在项目使用过的设计模式有哪些? 说说xx模式在你项目中的使用? 说说xx模式的实现原理是什么? 说说xx模式在Android源码中的体现? 等等,诸如此类的问题,你是否都能一一答出呢?如果你没有答好说明你对设计模式可能理解还不够...

2018-07-18 23:21:49

阅读数 210

评论数 0

Android跨进程通信AIDL详解(附源码)

概述 AIDL:Android Interface Definition Language,即Android接口定义语言,记住,它是一门语言,设计它的目的就是为了实现跨进程通信,我们知道Android的每一个进程都运行在独立的内存中,进程之间代码是不能愉快的调用的,但是在我们开发中难免会有一些场...

2018-06-09 17:17:14

阅读数 126

评论数 1

Kotlin学习之路--代理模式

首先我们先来了解一下什么是代理 张三现在租的房子,租期已快到了,房东不出租了,张三急切的需要找新房,但是呢张三天天加班赚钱,没有时间去找房子,所有能张三想委托中介帮忙找一套合适的房子租下来,中介找到合适的房子后就可以通知张三来签合同租房了; 这个例子中张三委托中介,而中介则代理张三去找合适...

2018-06-02 02:24:20

阅读数 151

评论数 0

Kotlin学习之路--Sealed class类详解

在上一篇 Kotlin学习之路–面向对象 中我们介绍了Kotlin类和接口的使用方法,这些类的使用与Java的有相似的概念,而今天介绍一下Kotlin的Sealed类(密封类),这是在Java中没有的概念 Sealed class(密封类) 是一个有特定数量子类的类,看上去和枚举有点类似,所不...

2018-06-02 01:23:57

阅读数 1412

评论数 1

Kotlin学习之路--面向对象

面向对象 我们都知道Java是面向对象语言,Kotlin同样是面向对象语言,面向对象有三大特性五大原则,先复习一下什么是面向对象的三大特性: 封装(Encapsulation) 封装,就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐...

2018-06-01 01:50:52

阅读数 332

评论数 0

Kotlin学习之路--基础篇

Kotlin程序执行入口 跟Java代码一样,Kotlin的函数入口也是一个main函数 fun mian(args:Array<String>){ println("He...

2018-05-29 01:17:00

阅读数 258

评论数 2

Kotlin学习之路--Kotlin简述

Kotlin是什么? Kotlin是由jetBrains开发的一门现代多平台应用的静态编程语言,Kotlin代码即可以编译成Java字节码,又可以编译成JavaScript,Kotlin是开源的,源码在这 为什么要学习Kotlin? 在2017年5月18日的Google开发者大会上,Go...

2018-05-17 00:56:35

阅读数 521

评论数 0

RecyclerView添加Item点击事件

今天我们只说一个问题,就是RecyclerView添加Item点击事件,我们之前在使用Listview的时候,Listview提供了很方便的OnItemClickListener事件回调: ListView listView = new ListView(this); listVi...

2018-05-15 21:15:58

阅读数 245

评论数 0

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