小火你好
码龄13年
关注
提问 私信
  • 博客:103,471
    社区:35
    103,506
    总访问量
  • 24
    原创
  • 1,314,427
    排名
  • 27
    粉丝
  • 0
    铁粉

个人简介:风骚的代码写入风骚的博客

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:福建省
  • 加入CSDN时间: 2012-03-16
博客简介:

学如不及,犹恐失之

博客描述:
Reading The Fuck Source Code 。。。
查看详细资料
个人成就
  • 获得46次点赞
  • 内容获得16次评论
  • 获得134次收藏
  • 代码片获得138次分享
创作历程
  • 2篇
    2019年
  • 22篇
    2018年
成就勋章
TA的专栏
  • Kotlin
    5篇
  • Android
    7篇
  • 设计模式
    2篇
  • sonar
    1篇
  • 性能优化
    1篇
  • Linux
    1篇
  • Flutter
    1篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

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

前言最近公司要求使用跨平台语言开发新的应用,这几天也对比了ReactNative和Flutter,最终决定入坑Flutter,今天刚配置完Flutter的开发环境,Flutter中文网也有相应的安装开发环境的介绍,这里主要是站在一个Android开发者的角度详细的记录在MAC电脑上配置的步骤和遇到的坑;达到的目的这篇博客的目的很简单,搭载可运行在Android模拟器和IOS模拟器的环境,看大...
原创
发布博客 2019.04.09 ·
11593 阅读 ·
2 点赞 ·
3 评论 ·
14 收藏

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

简介GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务,可通过Web界面进行访问公开的或者私人项目。环境要求内存:2G以上安装步骤1、配置yum源vim /etc/yum.repos.d/gitlab-ce.repo添加以下内容[gitlab-ce]name=gitlab-cebaseurl=http://mirror...
原创
发布博客 2019.03.27 ·
960 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java 集合全面整理

概述在实际开发中,我们经常会对一组相同类型的数据进行统一的管理操作,到目前为止,我们可以使用的数组结构,链表结构,二叉树结构来实现;数组的最大问题在于数组中的元素个数是固定的,要实现动态数组,毕竟还是比较麻烦,自己实现链表或者二叉树结构来管理对象更是不方便;在JDK1.2版本后,JAVA完整的提供了类集合的概念,封装了一组强大的、非常方便的集合框架API,让我们在开发中大大的提高了效率;...
原创
发布博客 2018.11.21 ·
462 阅读 ·
1 点赞 ·
0 评论 ·
12 收藏

Java 集合全面整理

概述在实际开发中,我们经常会对一组相同类型的数据进行统一的管理操作,到目前为止,我们可以使用的数组结构,链表结构,二叉树结构来实现;数组的最大问题在于数组中的元素个数是固定的,要实现动态数组,毕竟还是比较麻烦,自己实现链表或者二叉树结构来管理对象更是不方便;在JDK1.2版本后,JAVA完整的提供了类集合的概念,封装了一组强大的、非常方便的集合框架API,让我们在开发中大大的提高了效率;...
原创
发布博客 2018.11.21 ·
462 阅读 ·
1 点赞 ·
0 评论 ·
12 收藏

Android内存泄漏全面总结

概述内存泄漏伴随着整个APP的开发过程,一个对象内存泄漏可能你不会在意,但是一个对象反复内存泄漏或者多个对象同时内存泄漏,将导致你的APP内存直线上升,严重的还会导致OOM直接crash,所以我们在开发中应该及时发现内存泄漏并且修复它是非常必要的,今天我们在总结一下各种内存泄漏的场景和修复方案。什么是内存泄漏?内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序...
原创
发布博客 2018.11.12 ·
380 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

LeakCanary原理分析

概述在上一篇LeakCanary使用详细教程中,我们熟悉了LeakCanary的使用和初步描述了它的工作机制,这篇我准备从源码的角度去分析LeakCanary的工作原理;源码分析从上一篇中我们知道,LeakCanary在Appaction的初始化方式:@Overridepublic void onCreate() { super.onCreate(); if (LeakC...
原创
发布博客 2018.11.03 ·
2404 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

Android面试总结--Android篇

Activity生命周期图中需要注意一下几点:1.Activity实例是由系统自动创建,并在不同的状态期间回调相应的方法。一个最简单的完整的Activity生命周期会按照如下顺序回调:onCreate -> onStart -> onResume -> onPause -> onStop -> onDestroy。称之为entire lifetime。2.当执...
原创
发布博客 2018.10.10 ·
776 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Android面试总结 -- Java篇

Object类的equal和hashCode方法重写,为什么?首先equals与hashcode间的关系是这样的:1、如果两个对象相同(即用equals比较返回true),那么它们的hashCode值一定要相同;2、如果两个对象的hashCode相同,它们并不一定相同(即用equals比较返回false)由于为了提高程序的效率才实现了hashcode方法,先进行hashcode的比较,如果...
原创
发布博客 2018.10.10 ·
507 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

LeakCanary使用详细教程(附Demo)

导语 在Android的性能优化中,内存优化是必不可少的点,而内存优化最重要的一点就是解决内存泄漏的问题,在Android的内存泄漏分析工具也不少,比如PC端的有:AndroidStudio自带的Android Profiler、MAT等工具;手机端也有,就是我们今天要介绍的LeakCanaryLeakCanary简介LeakCanary是Square公司为Android开发者提...
原创
发布博客 2018.09.05 ·
23487 阅读 ·
11 点赞 ·
3 评论 ·
48 收藏

LeakCanary简单使用介绍

发布资源 2018.09.05 ·
rar

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

概念单例模式就是整个系统有且只有一个唯一的对象,单例模式思想相对比较简单,但是确保整个系统有且只有一个对象,需要注意几个点: - 构造函数必须是private; - 通过一个静态方法返回单例类对象; - 在多线程下注意单例模式的创建; - 确保单例类对象在反系列化时不会重新构建对象;单例模式从实现角度来分可以分:饿汉式单例和懒汉式单例,先看一下它们的实现:...
原创
发布博客 2018.07.31 ·
490 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

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

在这一篇我们主要介绍Sonar的使用方式,如果你还没有安装Sonar的话,可以看一下上一篇内容Sonar的安装配置教程,详细的介绍了Sonar服务的安装配置步骤以及提供了所需的所有安装包;如果已经安装好了Sonar服务就可以开始使用Sonar检测我们的代码了,先来温习一下什么是Sonar什么是Sonar?Sonar是一个用于代码质量管理的开源平台,用于管理代码的质量,通过插件形式可...
原创
发布博客 2018.07.24 ·
11308 阅读 ·
3 点赞 ·
0 评论 ·
15 收藏

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

单一职责原则单一职责原则(Single Responsibility Principle 缩写:SRP)定义:就一个类而言,应该仅有一个引起它变化的原因。听起来也许很抽象,简单的说就是:一个类(方法)不能担任太多的职责,因为过多的职责意味着复用的可能就越小、职责耦合就越高,当一个职责变化时,可能会影响到其他的职责功能,所以应该把职责进行隔离,将不同的职责封装到不同的类(方法)...
原创
发布博客 2018.07.21 ·
236 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

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

前言当你求职面试的时候是否有这样当经历,面试官问你:你在项目使用过的设计模式有哪些?说说xx模式在你项目中的使用?说说xx模式的实现原理是什么?说说xx模式在Android源码中的体现?等等,诸如此类的问题,你是否都能一一答出呢?如果你没有答好说明你对设计模式可能理解还不够深刻,或者使用还不够熟练 ,如果是这样的话,让我们一起共同学习一下设计模式吧,在准备写一些关于设计模...
原创
发布博客 2018.07.18 ·
736 阅读 ·
0 点赞 ·
2 评论 ·
0 收藏

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

概述AIDL:Android Interface Definition Language,即Android接口定义语言,记住,它是一门语言,设计它的目的就是为了实现跨进程通信,我们知道Android的每一个进程都运行在独立的内存中,进程之间代码是不能愉快的调用的,但是在我们开发中难免会有一些场景是需要实时进行进程间方法调用和数据传递。AIDL支持的数据类型JAVA的基本数据类型(...
原创
发布博客 2018.06.09 ·
998 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

AIDLdemo源码

发布资源 2018.06.09 ·
rar

Kotlin学习之路--代理模式

首先我们先来了解一下什么是代理张三现在租的房子,租期已快到了,房东不出租了,张三急切的需要找新房,但是呢张三天天加班赚钱,没有时间去找房子,所有能张三想委托中介帮忙找一套合适的房子租下来,中介找到合适的房子后就可以通知张三来签合同租房了;这个例子中张三委托中介,而中介则代理张三去找合适的房子,这里就建立起了代理模式。Kotlin代理模式的使用代理模式就是为其他对象提供一种代...
原创
发布博客 2018.06.02 ·
689 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

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

在上一篇 Kotlin学习之路–面向对象 中我们介绍了Kotlin类和接口的使用方法,这些类的使用与Java的有相似的概念,而今天介绍一下Kotlin的Sealed类(密封类),这是在Java中没有的概念Sealed class(密封类) 是一个有特定数量子类的类,看上去和枚举有点类似,所不同的是,在枚举中,我们每个类型只有一个对象(实例);而在密封类中,同一个类可以拥有几个对象。Seal...
原创
发布博客 2018.06.02 ·
23354 阅读 ·
7 点赞 ·
5 评论 ·
10 收藏

Kotlin学习之路--面向对象

面向对象我们都知道Java是面向对象语言,Kotlin同样是面向对象语言,面向对象有三大特性五大原则,先复习一下什么是面向对象的三大特性:封装(Encapsulation)封装,就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装的优点:良好的封装能够减少耦合。类内部的结构可以自由修改。可以对成员变量进行更精...
原创
发布博客 2018.06.01 ·
1066 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Kotlin学习之路--基础篇

Kotlin程序执行入口跟Java代码一样,Kotlin的函数入口也是一个main函数fun mian(args:Array<String>){ println("Hello World")}args:变量名称 Array: 变量类型Kotlin常见的数据类型Kotlin有7种常用的数据类型: 数据类型 存储范围 备注...
原创
发布博客 2018.05.29 ·
1053 阅读 ·
0 点赞 ·
2 评论 ·
3 收藏
加载更多