自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(188)
  • 资源 (18)
  • 收藏
  • 关注

原创 Android组件化探索之Library productFlavors

标签(空格分隔): 组件化 productFlavors问题背景 组件化的时候,会有一个App module(主module),多个业务module,一堆lib module。现在假如App module是App.module,有一个业务module叫login.module,还有一个lib module叫lib.module。组件化是一个项目解耦的过程,所以需要把每个业务module公用的功能

2017-04-15 12:41:51 3872 2

原创 根据Interceptor 分析 OkHttp(二)

为了更好的阅读体验,可以移步至根据Interceptor 分析 OkHttp(二)Interceptor可以说是OkHttp的核心功能,它就是通过Interceptor来完成监控管理、重写和重试请求的。下面是一个简单的Interceptor,可以监控request的输入参数和response的输出内容。class LoggingInterceptor implements Interceptor {

2017-03-24 18:55:41 2029

原创 根据Interceptor 分析 OkHttp(一)

Interceptor OkHttp在介绍Interceptor前需要理解几个概念Requests每个HTTP请求都包含一个URL,一个method(比如GET/POST),还有一系列的headers。Requests 还可能包含一个body:一个指定content type的data stream。ResponsesResponses是通过一个code(比如200代表请求成功、4

2017-03-24 13:18:24 842

转载 Android性能调优利器StrictMode

【原文地址 点击打开链接】作为Android开发,日常的开发工作中或多或少要接触到性能问题,比如我的Android程序运行缓慢卡顿,并且常常出现ANR对话框等等问题。既然有性能问题,就需要进行性能优化。正所谓工欲善其事,必先利其器。一个好的工具,可以帮助我们发现并定位问题,进而有的放矢进行解决。本文主要介绍StrictMode 在Android 应用开发中的应用和一些问题。

2017-01-12 12:54:09 527

转载 HTTP协议详解

【原文地址点击打开链接】本书是介绍怎么编写一个Web服务器,而Web服务器是基于HTTP(HyperText Transfer Protocol)协议实现的,所以要实现一个Web服务器就必须了解HTTP协议,本章主要介绍HTTP协议的相关知识,让我们对HTTP协议有个理性的认识。1.1 HTTP协议简介我们日常生活中经常会使用浏览器访问Web站点,但是大家有思考过在

2017-01-10 22:48:29 443

原创 颜色值转换

eg:要取颜色值是黑色,透明度是 50% 16进制的透明度00~ff对应10进制是00~255 255的50%是128 128转16进制是80 所以结果是#80000000附:在线进制转换器 http://tool.oschina.net/hexconvert

2017-01-06 14:52:27 735

原创 Git常见问题

Git常见问题Git pull命令后,解决了冲突(merge或者手动解决冲突)之后,push,提示一下错误: git 提交时出现错误 [You have not concluded your merge (MERGE_HEAD exists).]** 或者 Fatal: cannot do a partial commit during a merge**解决办法1.提交全部

2016-12-24 13:26:35 610

转载 Android组件化和插件化开发

【原文地址 点击打开链接】Android组件化和插件化开发什么是组件化和插件化?组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。 插件化开发和组件化开发略有不用,插件化开发时将整个app拆分

2016-12-02 16:14:59 398

转载 Git教程

【原文地址 点击打开链接】

2016-11-28 19:00:47 272

转载 Glide源码解析

【原文地址 点击打开链接】泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。Glide和Picasso使用上有90%的相似度,但是内部实现机制有很大区别 Glide介绍。1.主要特点(1)支持Memory和Di

2016-11-05 22:00:58 506

转载 Android 图片缓存函数库 Glide vs Picasso

【原文地址 点击打开链接】Glide^2 和 Picasso^1 都是 Android 世界中非常流行的图片加载函数库,Android 应用开发者在职业生涯中至少都应该用过其中一种。这两个函数库都提供了很多特性,经过优化,图片加载速度非常快,而且都在很多实际项目中通过了测试。从某种程度上面讲,Glide 是 Picasso 的一个变种,表面上看,它们的工作原理是一样的,但实际上

2016-11-05 15:07:20 669

转载 Android业务组件化开发实践(二)

【原文地址 点击打开链接】Android业务组件化之现状分析与探讨前言:      从个人经历来说的话,从事APP开发这么多年来,所接触的APP的体积变得越来越大,业务的也变得越来越复杂,总来来说只有一句话:这是一个APP臃肿的时代!所以为了告别APP臃肿的时代,让我们进入一个U盘时代,每个业务模块都是一个具备独立运行的U盘,插在哪里都可以完美运行,这就

2016-11-05 14:31:38 675

转载 Android对象池

【Android对象池 点击打开链接】【 Handler Message对象池的应用点击打开链接】对象池以及其在Android中的应用。Object pool模式如果你对object pool模式还不太了解的话,可以先看看这里。简单总结一下,对象池可以看做一种空间换时间的策略。可以看作是减少GC压力的首选方法,同时也是最简单的方法。在下面两种分配模式

2016-10-30 19:44:06 571

转载 内存优化方案(二)【汇总篇】

【原文地址 点击打开链接】Android的内存优化是性能优化中很重要的一部分,而避免OOM又是内存优化中比较核心的一点,这是一篇关于内存优化中如何避免OOM的总结性概要文章,内容大多都是和OOM有关的实践总结概要。理解错误或是偏差的地方,还请多包涵指正,谢谢!(一)Android的内存管理机制Google在Android的官网上有这样一篇文章,初步介绍了An

2016-10-30 18:57:36 2179

转载 下拉刷新控件实现(尤其headview如何实现隐藏和下拉显示)

【整体界面如何实现 点击打开链接】【如何实现headerview的隐藏和下拉显示 点击打开链接】

2016-10-29 10:13:50 1377

转载 内存优化方案

【原文地址 点击打开链接】转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/42238627有不少朋友都问过我,怎样才能写出高性能的应用程序,如何避免程序出现OOM,或者当程序内存占用过高的时候该怎么样去排查。确实,一个优秀的应用程序,不仅仅要功能完成得好,性能问题也应该处理得恰到好处。为此,我也是

2016-10-28 21:59:38 424

转载 gRPC

【原文地址 点击打开链接】和http主要区别: 1、gRPC是由Google主导开发的RPC框架,使用HTTP/2协议并用ProtoBuf作为序列化工具。 2、gRPC是动态代理的模式实现的,客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法。 3、和传统的REST不同的是gRPC使用了静态路径,从而提高性能,另外开发者不用了解各种底层网络协

2016-10-27 22:02:59 3935 1

转载 Android冷启动优化

【原文地址 点击打开链接】在阅读这篇文章之前,首先需要理解几个东西:1、什么是Android的冷启动时间?冷启动时间是指用户从手机桌面点击APP的那一刻起到启动页面的Activity调用onCreate()方法之间的这个时间段。2、在冷启动的时间段内发生了什么?首先我们要知道当打开一个Activity的时候发生了什么,在一个Activity打开时,如果该Activity所属

2016-10-25 18:30:03 331

转载 Android 业务组件化开发实践

【原文地址 点击打开链接】原文链接:http://kymjs.com/code/2016/10/18/01在 MDCC 中冯森林老师的《回归初心,从容器化到组件化》,为我们这些没有那么多精力折腾黑科技开发者们打开了另一扇门 —— 由 kymjs张涛 分享本文原创,转载请以链接形式注明地址:http://kymjs.com/code/2016/10/18/01

2016-10-22 13:22:52 5361

转载 基于QQ空间热修复原理开发的Nuwa框架使用步骤

【原文地址点击打开链接】What--什么是HotFixHotFix是针对某一个具体的系统漏洞或安全问题而发布的专门解决该漏洞或安全问题的小程序,通常称为修补程序Why--为什么我们要用HotFix试想这样一个场景:当Android发布App之后,如果突然发现了一个严重bug,而这个bug需要进行紧急修复这时候我们通常的处理流程是:解决bug、重新打包App、测试、向各个

2016-10-21 13:46:52 519

转载 Android插件化和热修复的区别和联系

【原文地址 点击打开链接】(文章最后一部分内容)插件化框架:此处输入图片的描述插件化发展历史:博客一博客二说到未来,也不得不提去年出来的ReactNative,RN比插件化更轻量级,越来越多人选择了RN,或许会代替插件化,虽然还有很多缺点,比如说没网的时候热修复与插件化的对比共同原理:都使用ClassLoader来实现的加载的新的功能类,都可以使用PathC

2016-10-21 13:02:26 5690

转载 Android中子线程真的不能更新UI吗?

【原文地址 点击打开链接】正文Android的UI访问是没有加锁的,这样在多个线程访问UI是不安全的。所以Android中规定只能在UI线程中访问UI。但是有没有极端的情况?使得我们在子线程中访问UI也可以使程序跑起来呢?接下来我们用一个例子去证实一下。新建一个工程,activity_main.xml布局如下所示:

2016-10-21 10:43:39 510

转载 Android内存优化(使用SparseArray和ArrayMap代替HashMap)

【原文地址 点击打开链接】版权声明:本文为博主原创文章,未经博主允许不得转载。转载注明出处:Sunzxyong目录(?)[+]在Android开发时,我们使用的大部分都是Java的api,比如HashMap这个api,使用率非常高,但是对于Android这种对内存非常敏感的移动平台,很多时候使用一些java的api并不能达到更好的性能

2016-10-20 21:33:18 332

转载 QQ空间 安卓App热补丁动态修复技术介绍

【原文地址 点击打开链接】1.背景当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包App、测试、向各个应用市场和渠道换包、提示用户升级、用户下载、覆盖安装。有时候仅仅是为了修改了一行代码,也要付出巨大的成本进行换包和重新发布。这时候就提出一个问题:有没有办法以补丁的方式动态修复紧急Bug,不再需要重新发布A

2016-10-20 14:53:39 830

转载 ListView中的观察者模式

【原文地址 点击打开链接】虽然现在RecyclerView 很好用,也在逐渐替代 ListView。很多github的开源大神也在对其进行更加实用的封装。我现在写的一个音乐播放器也在使用 RecyclerView。但是这些都不阻碍我们学习 ListView 优秀的源码设计。进入正题,我用的是 Api-23 的源码。接下来就从源码的角度带你学习ListVi

2016-10-20 10:55:08 337

转载 Android 工程师必备技能!

【原文地址 点击打开链接】原文链接:http://www.jianshu.com/p/d791bbede02c吐血推荐!!!! —— 由 Maat红飞 分享Step 1. 玩转RxJava使用RxJava处理异步极其方便,各种操作符可以对数据做流水线式操作,再加上与Retrofit的结合,使得Andorid开发变的极其简单。唯一美中不足的就是RxJa

2016-10-20 10:53:27 656

转载 Android 进程保活招式大全

【原文地址 点击打开链接】目前市面上的应用,貌似除了微信和手Q都会比较担心被用户或者系统(厂商)杀死问题。本文对 Android 进程拉活进行一个总结。Android 进程拉活包括两个层面:A. 提供进程优先级,降低进程被杀死的概率B. 在进程被杀死后,进行拉活本文下面就从这两个方面做一下总结。1. 进程的优先级Android 系统将

2016-10-19 17:24:10 207

转载 HTTP/2协议–特性扫盲篇

【原文地址 点击打开链接】HTTP/2协议–特性扫盲篇随着web技术的飞速发展,1999年制定的HTTP 1.1已经无法满足大家对性能的要求,Google推出协议SPDY,旨在解决HTTP 1.1中广为人知的性能问题。SPDY得到了Chrome、Firefox和Opera的支持,很多大型网站(如谷歌、Twitter、Facebook、淘宝)都对兼容客户端使用SPDY

2016-10-18 16:21:56 618

转载 Android中让多个线程顺序执行

【原文地址 点击打开链接】版权声明:本文为博主原创文章,未经博主允许不得转载。转载注明出处:Sunzxyong目录(?)[+]线程调度是指按照特定机制为多个线程分配CPU的使用权。 有两种调度模型:分时调度模型和抢占式调度模型。   分时调度模型:是指让所有的线程轮流获得cpu的使用权,并且平均分配每个线程占用的CPU的时间片

2016-10-18 13:07:41 5055 2

转载 MVP优缺点

【原文地址 点击打开链接】为什么需要MVP尽量简单 大部分的安卓应用只使用View-Model结构,程序员现在更多的是和复杂的View打交道而不是解决业务逻辑。当你在应用中只使用Model-View时,到最后,你会发现“所有的事物都被连接到一起”。复杂的任务被分成细小的任务,并且很容易解决。越小的东西,bug越少,越容易debug,更好测试。在MVP模式下的View层将会变

2016-10-12 19:15:18 2191

转载 如何理解HTTP协议的 “无连接,无状态” 特点?

【原文地址 点击打开链接】1、看到有篇帖子 有关http 的以下介绍,有几个疑问,1 HTTP是一个无状态的面向连接的协议 这个连接是知的TCP连接吗?2 保持连接性 是指的保持TCP连接吗?3 HTTP两次不同的请求 第一次请求之后,服务器端立即关闭连接、释放资源 这里的关闭连接 是指关闭哪个链接?如果此时 Connection: keep-alive 呢?无

2016-10-12 11:57:55 476

转载 Android App优化之性能分析工具

【原文地址 点击打开链接】今天聊下个人比较惯用的一些App性能测试和分析工具, 先上个图:![性能分析工具]tools_mind_node本文暂不对工具的使用做过多的深入.在后续的具体实例中会具体说明怎么用这些工具来达成分析目的和解决问题的.1, 官方工具一般来说, 学习一门新的技术, 最应该做的就是阅读其官方文档, 那是最权威的.Android

2016-10-11 18:32:39 830

转载 APP优化系列篇

【原文地址 点击打开链接】App优化之电池省着用阅读 945 · 评论 0 · 喜欢 173天之前App优化之内存优化(序)阅读 95 · 评论 0 · 喜欢 021天之前App优化之消除卡顿阅读 4171 · 评论 9 · 喜欢 110 · 打赏 125天之前

2016-10-11 12:24:45 521

转载 性能优化之省电篇

【原文地址 点击打开链接】移动网络下的性能优化之省电篇2016年2月20日王, 军鹏随着3G和4G网络的普及,用户使用APP的场景更多地集中在移动网络下。同时也带来了手机电量消耗更快和网络延迟更高的问题。想开发出用户体验更好的应用,就需要对移动网络有更深入的了解。本系列文章分为上下两篇,分别介绍如何开发出更省电和网络延迟更低的移动应用程序。本篇文章主要介绍移动网络的

2016-10-05 23:06:04 1060

转载 App网络传输协议(Json、XML、protobuf)

【原文地址 点击打开链接】版权声明:本文为博主原创文章,未经博主允许不得转载。转载请标明出处:一片枫叶的专栏上一篇文章中我们讲解了如何在App中统计数据,其实现主要分为两种:使用第三方服务统计和自身实现数据统计。一般而言我们使用第三方统计服务已经可以很好的满足我们的也无需求了,只有部分数据敏感型的App,由于其数据敏感性在app中实现数据统计

2016-10-05 23:03:57 12425

转载 Java中实现多线程的两种方式之间的区别

【原文地址 点击打开链接】原文地址:http://www.cnblogs.com/gw811/archive/2012/10/15/2724882.html Java提供了线程类Thread来创建多线程的程序。其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象。每个Thread对象描述了一个单独的线程。要产生一个线程,有两种

2016-10-04 15:09:04 5975 1

原创 handler.post()方法的执行时机

有如下场景,在onCreate()方法里执行handler.post(new Runnable())public class ProgressBarActivity extends Activity {private final static String TAG = "ProgressBarActivity";private Runnable test = new Runnable(){

2016-09-25 14:15:33 4811

转载 Android中RelativeLayout和LinearLayout性能分析

【原文地址 点击打开链接】先看一些现象吧:用eclipse或者Android studio,新建一个Activity自动生成的布局文件都是RelativeLayout,或许你会认为这是IDE的默认设置问题,其实不然,这是由 android-sdk\tools\templates\activities\BlankActivity\root\res\layout\activity_simple

2016-09-23 18:22:19 396

转载 图解HTTPS

【原文地址 点击打开链接】我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。HTTPS简介HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体

2016-09-23 17:36:56 250

转载 HTTP协议详解

【原文地址 点击打开链接】HTTP协议简介http协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。URLhttp url包含了用于查找某个资源的详细信息,格式如下http://host[":"port][abs_path]http表

2016-09-23 17:35:34 303

仿网易侧滑

ActionBarSherlock+ViewpagerIndicator+SlidingMenu仿微信仿网易(侧滑)

2014-08-22

SSH框架网上商城

SSH框架网上商城

2012-10-01

java网上商城

java网上商城

2012-09-30

JAVA编程百例

JAVA编程百例

2012-09-30

164个完整的Java源程序代码.

164个完整的Java源程序代码.适合打算学习java的新手使用,很有帮助!

2012-09-30

java学习流程

java学习流程

2012-09-30

学生管理系统

学生管理系统

2012-09-29

myeclipse.10.5_破解

myeclipse.10.5_破解

2012-09-29

SSH整合jar

SSH整合jar.

2012-09-29

山寨版qq源码.素材

山寨版qq源码.素材

2012-09-28

韩顺平j2ee视频实战教程jsp时尚购物网站全部源码

韩顺平j2ee视频实战教程jsp时尚购物网站全部源码.

2012-09-28

经典java小程序源代码合集

51CTO下载-经典java小程序源代码合集

2012-09-28

java EE开发必知

java EE开发必知

2012-09-28

java面试宝典

java面试宝典

2012-09-28

数据库系统概论(第四版)上课PPT

数据库系统概论(第四版)上课PPT

2012-09-28

华东交大编译原理试卷

华东交大的编译原理试卷

2012-09-28

报刊订阅管理系统

java开发的报刊订阅系统

2012-09-28

java数据库课程设计

自己做的数据库课设,java做的,自己做的数据库课设,java做的,自己做的数据库课设,java做的,

2012-09-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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