自定义博客皮肤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小知识-剖析Retrofit前的预备知识(静态代理与动态代理)

代理设计模式主要分为静态代理与动态代理,代理模式的定义是为其他对象提供一种代理,用以控制对这个对象的访问。打个比方:你人在国内,但是想要购买国外的某件商品,这时候你可以找朋友帮你买,你朋...

2018-10-31 08:39:54 26 0

原创 Android小知识-Retrofit框架的介绍以及使用方式

Retrofit是Square公司推出的一个HTTP的框架,主要用于Android和Java,Retrofit会将每一个HTTP的API请求变成一个Java的接口,使用起来非常方便,同时...

2018-10-30 07:30:00 32 0

原创 Android小知识-利用OkHttp实现WebSocket通信

在讲解如何利用OkHttp实现WebSocket之前,我们聊聊轮询技术,什么是轮询?轮询就是在特定的时间间隔,由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器...

2018-10-29 08:00:00 25 0

原创 Android小知识-剖析OkHttp中的五个拦截器(下篇)

在上一节介绍了缓存拦截器CacheInterceptor的缓存机制,内部采用DiskLruCache来缓存数据,本节介绍剩下的两个拦截器,分别是ConnectInterceptor和Ca...

2018-10-28 00:14:58 30 0

原创 关于我

为了让关注我的人更好的了解我,有必要介绍下自己,人恨话不多,社会我顾哥,哈哈。我叫顾林海,一般熟人都喜欢喊我蛋蛋球,为什么这么喊我,这得从我玩LOL的时候说起,当时LOL的召唤师名字我取...

2018-10-28 00:14:58 30 0

原创 Android之全面解析OkHttp源码

转载请标明出处:【顾林海的博客】 本平台的文章更新会有延迟,大家可以关注微信公众号-顾林海,更有Android、后端、Python、PHP、IOS以及React Native等等相关视频教程,如果大家想获取最新教程,请关注微信公众号,谢谢! 前言 OkHttp是目前非常火的网络库,支持HT...

2018-10-27 15:38:49 24258 0

原创 Android小知识-剖析OkHttp中的五个拦截器(中篇)

在上一小节介绍了重试重定向拦截器RetryAndFollowUpInterceptor和桥接适配拦截器BridgeInterceptor,这节分析缓存拦截器CacheIntercepto...

2018-10-27 00:00:00 25 0

原创 Python视频教程

Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的...

2018-10-27 00:00:00 52 0

原创 Android小知识-剖析OkHttp中的五个拦截器(上篇)

前面几节介绍了OkHttp的同步和异步请求的整体流程以及Dispatcher分发器的作用,接下来介绍一下OkHttp中的五个拦截器。RetryAndFollowUpInterceptor...

2018-10-26 00:00:00 31 0

原创 全套PHP开发视频教程

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛...

2018-10-26 00:00:00 43 0

原创 全套IOS开发视频教程

本教程适用于使用 Objective C 或 Swift 语言了解的开发人员,并用该语言开发 iPhone 和 iPad 应用。本教程能使你充分的了解iPad和iPhone的运用开发,并...

2018-10-26 00:00:00 83 0

原创 全套Java后端开发视频教程

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象...

2018-10-26 00:00:00 107 0

原创 全套React Native开发视频教程

React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前...

2018-10-26 00:00:00 148 0

原创 Android从程序员到架构师视频教程

架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需...

2018-10-26 00:00:00 37 0

原创 Java设计模式视频教程

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象...

2018-10-26 00:00:00 46 0

原创 Android小知识-介绍OkHttp中的拦截器

在OkHttp中执行同步请求会阻塞当前线程,直到HTTP响应返回,同步请求使用的是execute()方法;而异步请求类似于非阻塞式的请求,它的执行结果一般通过接口回调的方式告知调用者,异...

2018-10-25 08:00:00 21 0

原创 Android小知识-剖析OkHttp中的任务调度器Dispatcher

OkHttp发送的同步或异步请求队列的状态会在dispatcher中进行管理,dispatcher的作用就是用于维护同步和异步请求的状态,内部维护一个线程池,用于执行相应的请求。在dis...

2018-10-24 08:00:00 28 0

原创 Android小知识-剖析OkHttp中的同步请求

无论是同步请求还是异步请求,都需要一个OkHttpClient。privateOkHttpClientmHttpClient=null; privatevoi...

2018-10-22 06:00:00 39 0

原创 Android小知识-OkHttp的两种请求方式

OkHttp是目前非常火的网络库,支持HTTP/2,允许所有同一个主机地址的请求共享同一个socket连接,连接池减少请求延时,透明的GZIP压缩减少响应数据的大小,缓存响应内容,避免一...

2018-10-21 06:00:00 35 0

原创 企业营销的绝佳阵地-抖音

Hi,大家好,我叫顾林海,一枚帅帅的程序猿,今天聊聊非常火的抖音短视频APP,很多企业会把短视频平台作为进行营销的主要阵地,我们从以下三方面来阐述为什么企业会选择抖音来作为品牌推广。第一...

2018-10-21 06:00:00 33 0

原创 Android小知识-理解设计模式中的建造者模式

建造者模式的定义是:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。也就是说将构建过程和部件的表示隔离开,用户可以在不知道内部构建细节的情况下,对对象的构造流程...

2018-10-20 00:17:39 22 0

原创 程序员转行产品经理?抱歉!我有话说

网上关于程序员与产品经理互撕的文章颇多,个人认为两者之间是相辅相成,值得理解的一点是技术脱离了产品(用户)不行,反之产品脱离了技术也是不行的,身边也有一些朋友是做技术的,现在转行做了产...

2018-10-20 00:17:39 48 0

原创 Android小知识-了解下Android系统的显示原理

在Android系统中应用层负责绘制,系统层负责渲染,通过进程间通信把应用层需要绘制的数据传递到系统层,系统层服务通过刷新机制把数据更新到屏幕上,图形显示系统采用的是C/S架构。Andr...

2018-10-19 12:43:43 25 0

原创 Android小知识-ActivityManagerService详解(APP启动过程)

AMS(ActivityManagerService)的启动是在SystemServer进程中启动的,它的职责是用于和所有APP的四大组件进行通信,Activity的启动过程就是APP端...

2018-10-18 17:19:13 24 0

原创 Android之ActivityManagerService详解(APP启动过程)

转载请标明出处:【顾林海的博客】 前言 AMS(ActivityManagerService)的启动是在SystemServer进程中启动的,它的职责是用于和所有APP的四大组件进行通信,Activity的启动过程就是APP端与AMS端进行通信,首先理解的一点是APP端与AMS是在...

2018-10-18 16:53:18 28009 0

原创 Android小知识-如何正确的选择HashMap、LinkedHashMap和ArrayMap

在Android应用开发中,HashMap使用最频繁的容器之一,但它并不是最节约的容器,会占用大量内存。HashMap是一个散列链表,向HashMap中put元素时,先根据key的Has...

2018-10-17 10:52:22 32 0

原创 Android小知识-内存回收机制

通过下图,知道Android系统中最近分配的对象会存放在Young Generation区域。对象在某个时机触发GC回收垃圾,而没有回收的就根据不同规则,有可能被移动到Old Gener...

2018-10-16 11:38:58 34 0

原创 Android小知识-电量优化JobScheduler

通过不停的唤醒CPU(通过后天常驻的Service)来达到一些功能的使用,这样会造成电量资源的消耗,比如后台日志的上报,定期更新数据等等,在Android 5.0提供了一个JobSche...

2018-10-15 11:20:33 40 0

原创 Android小知识-电量优化WakeLock的使用

Android会不断关闭各种硬件来延长手机的待机时间,比如在一段时间内未做任何操作,屏幕会逐渐变暗直至关闭,CPU进入低功耗的睡眠状态,系统这些机制都是为了节约更多的电量。在真实环境中,...

2018-10-14 11:15:46 41 0

原创 Android小知识-电量优化AlarmManager的使用

AlarmManager是Android SDK提供的一个唤醒API,它是系统级别的服务,可以在特点的时刻广播一个指定的Intent,这个PendingIntent可以用来启动Activ...

2018-10-13 12:16:09 21 0

原创 Android小知识-WebView的Java和JavaScript交互

目前市面上的大部分APP都是混合开发,也就是大家所说的Hybrid方式,集成了Native和Web的优点,使用native可以保证用户的体验,使用Web可以使得APP具有动态更新的能力,...

2018-10-12 12:05:14 27 0

原创 Android小知识-快速了解下View的事件分发机制

  Android上面的View是树形结构,View可能会重叠在一起,当我们点击的地方有多个View都可以响应的时候,这个点击事件应该给谁呢?为了解决这个问题,就有了事件分发机制。事件分...

2018-10-11 11:10:54 21 0

原创 Android小知识-一分钟看完AsyncTask

使用方式publicfinalAsyncTask<Params,Progress,Result>execute(Params...params) Params表示...

2018-10-10 10:05:49 21 0

原创 Android之加载外部dex

转载请标明出处:【顾林海的博客】 想要了解插件化,首先得知道如何加载外部的dex文件,这里的插件APK会存放在主APP的assets目录中,用于模拟服务器下载插件。 第一步:创建主项目和插件项目 先创建我们的主项目,并在项目中创建一个插件依赖库,取名为pluginlibrary,...

2018-10-09 11:12:15 25649 0

原创 Android小知识-如何加载外部dex文件中的类

想要了解插件化,首先得知道如何加载外部的dex文件,这里的插件APK会存放在主APP的assets目录中,用于模拟服务器下载插件。第一步:创建主项目和插件项目先创建我们的主项目,并在项目...

2018-10-09 10:58:03 71 0

原创 Android小知识-了解下WebView

WebView的坑点1、在API16之前存在远程代码执行漏洞,该漏洞源自于程序没有正确限制使用WebView.addJavascriptInterface方法,攻击者可以使用Java R...

2018-10-08 09:52:13 17 0

原创 Android小知识-非静态内部类导致内存泄露

非静态内部类(包括匿名内部类)默认就会持有外部类的引用,当非静态内部类对象的生命周期比外部类对象的生命周期长时,就会导致内存泄露。非静态内部类导致的内存泄露在Android开发中有一种典...

2018-10-07 18:34:15 29 0

原创 Android小知识-单例引起的内存泄漏

单例模式在Android开发中会经常用到,但是如果使用不当就会导致内存泄露。因为单例的静态特性使得它的生命周期同应用的生命周期一样长,如果一个对象已经没有用处了,但是单例还持有它的引用,...

2018-10-06 11:46:14 22 0

原创 Android小知识-什么是HandlerThread

publicclassHandlerThreadextendsThread{ intmPriority; intmTid=-1; Looper...

2018-10-05 00:00:00 15 0

原创 Android小知识-数据库优化

在数据量大的情况下,execSql省去了拼接sql语句的步骤,要比SqliteDatabase提供的insert、query、update、delete等函数效率高。应用程序初始化时需要...

2018-10-04 00:00:00 23 0

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