自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

郭霖的专栏

每当你在感叹,如果有这样一个东西就好了的时候,请注意,其实这是你的机会

  • 博客(141)
  • 资源 (40)
  • 论坛 (18)
  • 问答 (1)

原创 我的新书,《第一行代码 Android 第3版》已出版!

《第一行代码——Android》这本书自2014年出版以来,已经过了6个年头了。期间Android系统版本经历了4.0到10.0系统的巨大升级,开发技术也发生了翻天覆地的变化。在2016年的时候,我曾对书中的内容进行了大幅度的更新,出版了这本书的第2版,也就是所谓的《第二行代码》。而如今,再隔4年之久之后,《第三行代码》终于要以全新的面貌跟大家见面了。

2020-04-02 10:13:08 33436 96

原创 分享我成为GDE(Google开发者专家)的经历

GDE的全称是Google Developer Expert,是Google在全球范围内开展的一个开发者专家认证项目。如果你对Google的某个技术领域非常擅长,同时在这个领域有比较高的影响力的话,那么就有可能成为Google官方认证的开发者专家。由于我知道绝大部分的国内开发者对于GDE的了解可能都很少,因此这里我就给大家做一个比较详细的科普。众所周知,Google是一家崇尚技术的科技公司,Google也经常会推出许多面向开发者的技术产品。开发者对于Google的整体生态来说是非常重要的一环。

2020-10-21 07:35:19 3492 21

原创 volatile关键字在Android中到底有什么用?

当一个程序运行的时候,数据是保存在内存当中的,但是执行程序这个工作却是由CPU完成的。那么当CPU正在执行着任务呢,突然需要用到某个数据,它就会从内存中去读取这个数据,得到了数据之后再继续向下执行任务。这是理论上理想的工作方式,但是却存在着一个问题。我们知道,CPU的发展是遵循摩尔定律的,每18个月左右集成电路上晶体管的数量就可以翻一倍,因此CPU的速度只会变得越来越快。但是光CPU快没有用呀,因为CPU再快还是要从内存去读取数据,而这个过程是非常缓慢的,所以就大大限制了CPU的发展

2020-10-12 07:44:28 2048 10

原创 浅谈Kotlin的Checked Exception机制

现在使用Kotlin的Android开发者已经越来越多了。这门语言从一开始的无人问津,到后来成为Android开发的一级语言,再到后来Google官宣的Kotlin First。Kotlin正在被越来越多的开发者接受和认可。许多学习Kotlin的开发者之前都是学习过Java的,并且本身Kotlin就是一款基于JVM语言,因此不可避免地需要经常和Java进行比较。Kotlin的诸多特性,在熟悉Java的开发者看来,有些人很喜欢,有些人不喜欢。但即使是不喜欢的那些人,一旦用熟了Kotlin进行程序开

2020-09-29 07:35:50 4521 13

原创 原来在Android中请求权限也可以有这么棒的用户体验

PermissionX这个开源项目起源于我今年出版的新书[第一行代码 第3版》,本来的主要目的只是为了带领读者朋友们学习如何开发并发布一个开源库。然而随着我发现这个项目不仅有学习的价值,还可以真正投入到实际项目的使用当中,于是后面又对PermissionX进行了多个版本的迭代,目前已经成为了一个非常稳定和方便的权限请求库。在1.3.0版本当中,PermissionX支持了自定义权限提醒对话

2020-09-15 07:28:00 5214 11

原创 Jetpack新成员,App Startup一篇就懂

Android 11系统已经来了,随之而来的是,Jetpack家族也引入了许多新的成员。其实以后Android的更新都会逐渐采用这种模式,即特定系统相关的API会越来越少,更多的编程API是以Jetpack Library的形式提供给我们的。这样我们就不需要专门针对不同的系统版本去写很多的适配逻辑,而是统一用Jetpack提供的接口即可。Android也是在用这种方式去解决长期以来的碎片化问题。

2020-08-25 07:00:29 5069 10

原创 Android数据库高手秘籍(十二),LitePal的索引功能

我发现今年我的技术产出真的是很不错,自从《第一行代码 第3版》出版之后,我空余出来了大量的时间,不仅频繁地更新和维护自己编写的开源库,还参加了多场GDG活动与大家分享技术。目前我手上正在维护的开源库主要是LitePal和PermissionX这两个,属于交叉维护的状态,升级完了这个就抓紧去写另外一个。其实今年我本来还准备再写一个新的开源项目,但是现在不知是否还能够抽出足够的时间,思路已完备,就是迟迟没动手。回到今天的主题,LitePal自上次3.1版本支持了事务之后,基本数据库该有的功能差不多都具备了,

2020-08-11 08:13:46 4919 12

原创 为什么说在Android中请求权限从来都不是一件简单的事情?

周末时间参加了东莞和深圳的两场GDG,因为都是线上参与,所以时间上并不赶,我只需要坐在家里等活动开始就行了。等待的时候一时兴起,突然想写一篇原创,聊一聊我自己在写Android权限请求代码时的一些技术心得。正如这篇文章标题所描述的一样,在Android中请求权限从来都不是一件简单的事情。为什么?我认为Google在设计运行时权限这块功能时,充分考虑了用户的使用体验,但是却没能充分考虑开发者

2020-07-28 07:27:35 12515 22

原创 PermissionX重磅更新,支持自定义权限提醒对话框

截至目前为止,PermissionX已经迭代更新了三个版本,而最新的1.3.0版本更是加入了非常重要的自定义权限提醒对话框的功能。如果你觉得之前PermissionX自带的权限提醒对话框太丑,从而无法投入正式的生产环境,那么这次你将可以充分发挥自己的UI实力,打造出一个漂亮的权限提醒界面

2020-07-21 07:14:34 5333 7

原创 PermissionX现在支持Java了!还有Android 11权限变更讲解
原力计划

各位小伙伴们早上好,不知道你们有没有惊讶于我的速度,因为不久之前我才新发布的开源库PermissionX今天又更新了。是的,在不到一个月的时间里,PermissionX又迎来了一次重大的版本更新。如果你觉得一个月还不算快的话,可别忘了,两周之前我还发布了LitePal的新版本。对于我来说,这个速度已经是相当极限了。不过,可能还有不少朋友不知道PermissionX是什么,这里我给出上一篇文章的链接,还没看过的小伙伴先去补补课

2020-06-16 08:05:32 9364 24

原创 Android数据库高手秘籍(十一),LitePal支持事务功能了
原力计划

LitePal内部的API在很早之前就支持了事务功能,因为要保证数据操作的原子性,不能出现部分成功部分失败的情况。然而,LitePal之前却从来没有提供过对外的事务接口,但是广大开发者却实实在在会有事务方面的需求。举个最常见的事务例子,你正在开发一个转账功能,需要先从一个账户中减去先一定的金额,然后向另一个账户中增加相同的金额。整套操作必须保证是原子性的,即要么同时成功,要么同时失败。如果部分成功的话,转账之后,账户的总金额就对不上了。为此,LitePal 3.1.0版本当中终于加入了事务接口的

2020-06-02 07:23:40 6650 9

原创 Android运行时权限终极方案,用PermissionX吧

没有人愿意编写处理Android运行时权限的代码,因为它真的太繁琐了。这是一项没有什么技术含量,但是你又不得不去处理的工作,因为不处理它程序就会崩溃。但如果处理起来比较简单也就算了,可事实上,Android提供给我们的运行时权限API并不友好。以一个拨打电话的功能为例,因为CALL_PHONE权限是危险权限,所以在我们除了要在AndroidManifest.xml中声明权限之外,还要在执行拨打电话操作之前进行运行时权限处理才行

2020-05-19 08:03:13 16313 33

原创 Android 10适配要点,深色主题
原力计划

在不久之前,我才发布了一篇Android 10适配的文章,讲的是作用域存储的相关内容。而除了作用域存储之外,深色主题也是Android 10中的一大亮点,并且是需要开发者进行适配的。因此本篇文章我们就来探讨关于深色主题的内容。另外说明一下,本篇文章主要摘自《第一行代码——Android 第3版》的第14章,在此基础之上,我又扩展了一些内容

2020-05-12 22:17:58 9753 11

原创 什么?RecyclerView中获取点击位置的接口被废弃了?
原力计划

什么?holder.adapterPosition被划线不推荐使用了?《第三行代码》这才刚刚出版,竟然就有API被弃用了,我决定对这个问题好好研究一下,并加急写一篇文章进行分析。仔细一看,holder.adapterPosition这不就是我们平时在RecyclerView里面用于获取点击位置的方法么,这个方法相信每个人都用过不下千百遍,怎么会被废弃呢?于是我到Android的官网去查了一下文档,果然,getAdapterPosition()方法被标记成了废弃:

2020-04-21 07:41:24 7797 17

原创 Android 10适配要点,作用域存储
原力计划

距离Android 10系统正式发布已经过去大半年左右的时间了,你的应用程序已经对它进行适配了吗?在Android 10众多的行为变更当中,有一点是非常值得引起我们重视的,那就是作用域存储。这个新功能直接颠覆了长久以来我们一直惯用的外置存储空间的使用方式,因此大量App都将面临着较多代码模块的升级。然而,对于作用域存储这个新功能,官方的资料并不多,很多人也没有搞明白它的用法

2020-04-14 08:42:48 19037 33

原创 写一篇最好懂的HTTPS讲解

大家早上好,有段时间没更新文章了。其实疫情期间在家呆了一个多月的时间不能出门,时间倒是挺多的,我也利用这段时间写了几篇新文章。但由于新写的这些文章大都是配合着新书中的内容的,受疫情的影响我写的新书迟迟不能出版,导致这些文章也无法发布,等得我好是焦急。希望疫情早日结束,大家都能快点恢复到正常的生活当中。那么今天先发布一篇和Android无关的技术文章。https这项技术现在已经应用得非常广泛了。随着苹果、Google等各大互联网领头企业纷纷在自己的操作系统、浏览器等主流产品中强制要求使用https

2020-03-03 07:44:56 31947 92

原创 Kotlin vs Flutter,我到底应该怎么选?

在移动应用开发方面,Kotlin和Flutter是目前比较火热的两门技术。其中,Kotlin是由Jetbrains研发,后被Google大力扶持,Flutter则是由Google自己独立研发的。从目前Google官方的态度来看,这两门技术都被无限看好,Google也是在它们身上投入了大量的资源。但也正是由于Google的这种态度,导致很多开发者变得迷茫了:我到底是应该学习Kotlin还是Flutter呢?关于这个问题,我也是被问了无数次,但每次回答都只能简单回复几句,无法全面概括,可能也做不到直至要害。

2020-01-17 08:05:15 23272 21

原创 2019年终总结,所有的时间只为做好一件事

又到了一年的最后一天,按照往年的惯例,是时候该写一下今年的年终总结了。另外今年的元旦假期比较特殊,只放周三一天假,因此我们很快又会在2020年见面了。年终总结主要是回顾过去的一年主要做了哪些事情,那么这一年时间以来,对于我来说最重大的事情莫过于编写《第一行代码 第3版》了。其实在2018年的年终总结中,我就已经透漏过准备编写《第一行代码 第3版》的计划,但是当时整体的规划还在很早的阶段,因此没能跟大家透漏更多的内容。后来我跟图灵出版社又进行了一些目录和内容上的商定,最终在3月份的时候正式开始

2019-12-31 07:26:43 9914 22

原创 Android 9.0系统新特性,对刘海屏设备进行适配

其实Android 9.0系统已经是去年推出的“老”系统了,这个系统中新增了一个比较重要的特性,就是对刘海屏设备进行了支持。一直以来我也都有打算针对这个新特性好好地写一篇文章,但是为什么直到拖到了Android 10.0系统都发布了才开始写这篇文章呢?当然,一是因为我这段时间确实比较忙,今年几乎绝大部分的业余时间都放到写新书上了。但是最主要的原因并不是这个,而是因为刘海屏设备的适配存在一定的特殊性

2019-11-26 08:05:40 14973 19

原创 华为方舟编译器官网正式上线,写一篇你应该知道的科普文章

8月31日,早上9点,华为方舟编译器官网就这么悄然上线了。网上甚至没有大面积的新闻报道,我是隔天才知道的这个消息。在今年4月份华为P30系列的发布会上,华为首次对外公开了正在自主研发一款开源的统一编程平台,可以大幅提升Android应用程序在手机上的运行效率,称之为方舟编译器,随即在业内引起了轰动。当初华为给出的预计时间是,方舟编译器将会在今年8月份开源编译框架代码,11月份开源完整的方舟编译器,那么终于在8月份的最后一天,华为完成了自己的承诺,上线了方舟编译器的官网。

2019-09-03 07:58:47 13061 30

原创 总是听到有人说AndroidX,到底什么是AndroidX?

本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每个工作日都有文章更新。Android技术迭代更新很快,各种新出的技术和名词也是层出不穷。不知从什么时候开始,总是会时不时听到AndroidX这个名词,这难道又是什么新出技术吗?相信有很多朋友也会存在这样的疑惑,那么今天我就来写一篇科普文章,向大学介绍AndroidX的前世今生。Android系统在刚刚面世的...

2019-08-26 08:06:59 149192 51

原创 看一看Facebook工程师是怎么评价《第一行代码》的

大家好,我是一名Facebook的工程师,同时也是《第一行代码——Android》的忠实读者。虽然我最近几年是在国外读书和工作的,但是和很多人一样,我也非常喜欢郭霖的博客以及他写的《第一行代码——Android》。事实上,这本书在我面试 Facebook 的时候给我提供了很大的帮助。为此,我专门为这本书写了这样一篇书评,同时也跟大家分享一下我自己的经历。我是谁?先来简单介绍一下我自己吧。...

2019-08-16 07:56:50 13235 15

原创 Kotlin的面向对象编程,深入讨论继承写法的问题

很多人可能都不知道,或者是已经忘记这件事了,但是我自己承诺过要写的东西,我是不会忘记的。记得是在去年十月份的时候,我在腾讯课堂做了一场线上直播课程,给大家讲解Kotlin的基础知识。不过当时我并没有做过提前试讲,只是在PPT上规划了一下大体内容,因此时间预估得非常不准确。本来计划是准备直播大概一个半小时,最后直播了三个小时还没讲完,因此为了赶时间不得不砍掉了一些本来要讲的内容。当时提到了一个Kotlin在继承时括号书写的问题,这部分内容比较有疑惑性,不太利于初学者理解。本来我是计划在直播时要

2019-05-20 08:55:57 9679 35

原创 一篇文章带你看遍Google I/O 2019大会

为期三天的Google I/O 2019大会终于在上周落下了帷幕,每年的Google I/O大会都可以说是一场全球的开发者盛宴。不过可惜的是,由于和美国存在时差,I/O大会的直播时间正好是我们这边的深夜,因此对于大多数的人来说可能都只能通过回放的方式来观看I/O大会。另外由于会议全程都是使用的英文,因此对于一些英文不太好的朋友观看起来可能也会比较吃力。因此今天我特意写了这样一篇文章来覆盖Google I/O 2019大会的全程重要内容,希望能给大家带来帮助。另外或许我也可能会将这类文章做成一个系列,每年

2019-05-13 07:21:24 18571 30

原创 分享一个我开发的MVVM架构的开源小项目

大家好,今天跟大家分享一个我编写的MVVM架构的开源小项目。话说这个小项目已经提前跟大家预热很久了,也是被不少朋友催了很多次。我之前在公众号里透漏过这个项目能够帮助大家更好地理解MVVM架构,当然我也希望确实如此。虽说这篇文章重点是向大家介绍这个开源小项目的,但是我并不希望就写得如此简单,我准备把它写成一篇干货文章。一切先从Jetpack说起

2019-03-01 07:56:31 26023 39

原创 我的开源项目,趣享GIF源代码已正式公开

大家早上好,猪年春节将至,先跟大家拜个早年。自从上个月发布了我编写了两年之久的开源项目趣享GIF的App版本,不少朋友都一直在博客、微信公众号上催问我什么时候开放源代码?为了能够尽量将源代码公开,我这一个多月也是没少忙活,基本上是每天下班就开始抓紧写代码,尽量能早一天是一天。可能有些朋友不明白,项目不是已经开发好了吗,还有什么东西要写的呢?这是因为开源版和非开源版本在某些地方是不一样的,比如说非开源版本登录是使用的QQ、微信、微博这种第三方登录的方式,而开源版用不了,因为第三方登录一定要验证App的

2019-01-29 07:28:50 19768 69

原创 2018年终总结,释放了积压两年的心情

时光如梭,今天是2018年的最后一个工作日,等下次我们上班的时候就是2019年了。2018年你都做了哪些事情,实现了什么目标呢?或许大家也会跟我一样感觉每天都忙忙碌碌的,但却又想不起来这一年到底忙了些什么,那么这个时候写个年终总结就是一个不错的选择。从2013年开始,这已经是我连续第6个年头写年终总结了,也希望我能一直坚持写下去。另外大家也可以在留言区分享一下你自己的年终总结,或者定一个明年的计划和目标也是挺好的

2018-12-29 07:21:02 17611 55

原创 两年沉淀,我的开源项目已上线!

今天跟大家谈谈情怀。话说我从13年开始写博客写到现在,也写出了一些成绩。成为了博客专家,出版了自己的书,推出了自己的开源框架,还有着自己的微信公众号。我相信有很多朋友可能都是通过我的书或者是我的博客入门和学习Android开发的,但是我自己却始终有一个遗憾,我虽然帮助了许多人学会了开发Android App,但是我自己却几乎从来没有开发过一个完整的App,更没有参与过任何一个知名App的研发。我从11年开始参加工作,一开始进入的是一家华为的外包公司,主要做华为的外包项目。而华为的项目也是别人外包过来

2018-12-14 08:11:04 27414 116

原创 Android数据库高手秘籍(十),如何在Kotlin中更好地使用LitePal

自从LitePal在2.0.0版本中全面支持了Kotlin之后,我也一直在思考如何让LitePal更好地融入和适配Kotlin语言,而不仅仅停留在简单的支持层面。Kotlin确实是一门非常出色的语言,里面有许多优秀的特性是在Java中无法实现的。因此,在LitePal全面支持了Kotlin之后,我觉得如果我还视这些优秀特性而不见的话,就有些太暴殄天物自从LitePal在2.0.0版本中全面支持了Kotlin之后,我也一直在思考如何让LitePal更好地融入和适配Kotlin语言,而不仅仅停留

2018-10-12 07:07:03 14303 43

原创 Android指纹识别API讲解,一种更快更好的用户体验

我发现了一个比较怪的现象。在iPhone上使用十分普遍的指纹认证功能,在Android手机上却鲜有APP使用,我简单观察了一下,发现Android手机上基本上只有支付宝、微信和极少APP支持指纹认证功能,就连银行和金融类的应用都基本不支持,甚至很多开发者都不知道Android系统是有指纹认证的官方API的。事实上,Android从6.0系统开始就支持指纹认证功能了,但是指纹功能还需要有硬件支持才行,而Android手机的硬件都是由各厂商生产的,手机档次也参差不齐,因此不能像iPhone那样保证所有的手机都是

2018-08-28 07:27:26 37463 57

原创 Android数据库高手秘籍(九),赶快使用LitePal 2.0版本吧

今天很高兴告诉大家一个好消息,LitePal又出新版本了。算了一下,上个版本1.6.1已经是半年前推出的了,而整个开源项目自2014年推出以来,我已经维护了有四年之久。这四年以来,我不断地完善着LitePal的代码,修复各种大家提出的bug,以及补充各式各样好用的新功能。而今天,时隔半年,LitePal终于迎来了一次大的版本更新,正式发布了2.0.0版本

2018-06-11 07:34:42 35920 43

原创 Android通知栏微技巧,8.0系统中通知栏的适配

大家好,今天我们继续来学习Android 8.0系统的适配。之前我们已经讲到了,Android 8.0系统最主要需要进行适配的地方有两处:应用图标和通知栏。在上一篇文章当中,我们学习了Android 8.0系统应用图标的适配,那么本篇文章,我们自然要将重点放在通知栏上面了,学习一下Android 8.0系统的通知栏适配

2018-04-17 07:39:11 76409 136

原创 Android应用图标微技巧,8.0系统中应用图标的适配

大家好,2018年的第一篇文章到的稍微有点迟,也是因为在上一个Glide系列结束之后一直还没想到什么好的新题材。现在已经进入了2018年,Android 8.0系统也逐渐开始普及起来了。三星今年推出的最新旗舰机Galaxy S9已经搭载了Android 8.0系统,紧接着小米、华为、OV等国产手机厂商即将推出的新年旗舰机也会搭载Android 8.0

2018-03-13 07:56:38 72273 137

原创 2017年终总结,一个不顺心的槛年

2017就这样在不知不觉中又过去了。由于明天大家就都放假了,因此今年的年终总结我只好提前两天发布吧。这已经是我第五个年头写年终总结了,不像我五前年刚来到CSDN开始写博客的时候那么干劲十足,现在的我也到了听听《时间都去哪了》竟会觉得伤感的年纪了。我发现人的心态真的是会随着年龄的变化而产生巨大的变化,去年27的时候还觉得自己才刚25岁出头,今年28的时候就觉得自己马上就要30岁了

2017-12-21 18:54:22 31191 68

原创 Android图片加载框架最全解析(八),带你全面了解Glide 4的用法

本篇将是我们这个Glide系列的最后一篇文章。其实在写这个系列第一篇文章的时候,Glide就推出4.0.0的RC版了。那个时候因为我一直研究的都是Glide 3.7.0版本,再加上RC版本还不太稳定,因此整个系列也都是基于3.7.0版本来写的。而现在,Glide的最新版本已经出到了4.4.0,可以说Glide 4已经是相当成熟和稳定了。而且也不断有朋友一直在留言,想让我讲一讲Glide 4的用法,因为Glid

2017-12-19 07:58:32 50081 65

原创 Android图片加载框架最全解析(七),实现带进度的Glide图片加载功能

我们的Glide系列文章终于要进入收尾篇了。从我开始写这个系列的第一篇文章时,我就知道这会是一个很长的系列,只是没有想到竟然会写这么久。在前面的六篇文章中,我们对Glide的方方面面都进行了学习,包括基本用法、源码解析、缓存机制、回调与监听、图片变换以及自定义模块。而今天,我们就要综合利用之前所学到的知识,来对Glide进行一个比较大的功能扩展,希望大家都已经好好阅读过了前面的六篇文章,并且有了不错的理解。

2017-10-26 18:32:02 35052 43

原创 Android图片加载框架最全解析(六),探究Glide的自定义模块功能

不知不觉中,我们的Glide系列教程已经到了第六篇了,距离第一篇Glide的基本用法发布已经过去了半年的时间。在这半年中,我们通过用法讲解和源码分析配合学习的方式,将Glide的方方面面都研究了个遍,相信一直能看到这里的朋友现在已经是一位Glide高手了。整个Glide系列预计总共会有八篇文章,现在也是逐步进入尾声了。不过,越是到后面,我们探究的内容也越是更加深入。那么今天,我们就来一起探究一下Glide中一个比

2017-10-09 09:30:05 27144 31

原创 Android图片加载框架最全解析(五),Glide强大的图片变换功能

大家好,又到了学习Glide的时间了。在前面四篇文章的当中,我们已经学习了Glide的基本用法、Glide的工作原理和执行流程、Glide的缓存机制、以及Glide的回调机制等内容。如果你能将前面的四篇文章都掌握好了,那么恭喜你,现在你已经是一名Glide好手了。不过Glide的这个框架的功能实在是太强大了,它所能做的事情远远不止于目前我们所学的这些。因此,今天我们就再来学习一个新的功能模块,并且是一个非常重要的模块

2017-08-29 07:50:56 46329 59

原创 Android图片加载框架最全解析(四),玩转Glide的回调与监听

大家好,今天我们继续学习Glide。在上一篇文章当中,我带着大家一起深入探究了Glide的缓存机制,我们不光掌握了Glide缓存的使用方法,还通过源码分析对缓存的工作原理进行了了解。今天是这个Glide系列的第四篇文章,我们又要选取一个新的功能模块开始学习了,那么就来研究一下Glide的回调和监听功能吧。今天的学习模式仍然是以基本用法和源码分析相结合的方式来进行的

2017-06-20 07:53:26 57031 81

原创 Android图片加载框架最全解析(三),深入探究Glide的缓存机制

Glide的缓存设计可以说是非常先进的,考虑的场景也很周全。在缓存这一功能上,Glide又将它分成了两个模块,一个是内存缓存,一个是硬盘缓存。这两个缓存模块的作用各不相同,内存缓存的主要作用是防止应用重复将图片数据读取到内存当中,而硬盘缓存的主要作用是防止应用重复从网络或其他地方重复下载和读取数据。内存缓存和硬盘缓存的相互结合才构成了Glide极佳的图片缓存效果,那么接下来我们就分别来分析一下这两种缓存的使用

2017-05-23 08:37:16 78152 118

Android照片结合LruCache和DiskLruCache Demo源码程序

此为示例代码,如对资源内容有疑问,可以到以下博客地址中留言: http://blog.csdn.net/guolin_blog/article/details/34093441

2014-08-14

《第一行代码——Android》试读

《第一行代码——Android》的试读部分,完整版购买: 当当网:http://product.dangdang.com/23521220.html 京东:http://item.jd.com/11504254.html 亚马逊:http://www.amazon.cn/%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81-Android-%E9%83%AD%E9%9C%96/dp/B00LVHTI9U

2014-08-13

第一行代码——Android 源码

《第一行代码——Android》源码,书的详情请参见http://blog.csdn.net/guolin_blog/article/details/26365913

2014-08-13

Android照片墙完整版Demo

此为示例代码,如对资源内容有疑问,可以到以下博客地址中留言: http://blog.csdn.net/guolin_blog/article/details/34093441

2014-08-11

DiskLruCache.java 完整源码

Android DiskLruCache的源码

2014-08-03

Android ActionBar应用实战,高仿微信主界面的设计实例完整源码

此为示例代码,详细讲解请参考博文: http://blog.csdn.net/guolin_blog/article/details/26365683 如对资源内容有疑问,请到博客中留言。

2014-07-02

Volley.jar程序文件

Android Volley的jar包,包中含有源码。

2014-04-06

Android高级图片滚动控件,3D版的图片轮播器Demo

此为示例代码,详细讲解请参考博文: http://blog.csdn.net/guolin_blog/article/details/17482089 如对资源内容有疑问,请到博客内留言。

2014-03-04

Android桌面悬浮窗进阶,QQ手机管家小火箭效果实现Demo

此为示例代码,详细讲解请参考博文: http://blog.csdn.net/guolin_blog/article/details/16919859 如对资源内容有疑问,请到博客中留言。

2013-12-29

Android Fragment应用实战Demo,向ActivityGroup说再见 源码程序

此为示例代码,详细讲解请参考: http://blog.csdn.net/guolin_blog/article/details/13171191 如对资源内容有疑问,请到博客里留言。

2013-11-19

Android双向滑动菜单带按钮版

此为带按钮版的双向滑动菜单示例。 http://blog.csdn.net/guolin_blog/article/details/9671609

2013-11-15

Android照片墙加强版,使用ViewPager实现画廊效果Demo

此为示例代码,详细详解请参考: http://blog.csdn.net/guolin_blog/article/details/12646775 如对资源内容有疑问,请到博客主留言。

2013-11-13

Android PowerImageView实现Demo

此为示例代码,详解讲解请参考: http://blog.csdn.net/guolin_blog/article/details/11100315 如对资源内容有疑问,可以到博客中留言。

2013-10-23

Android数据库安全解决方案,使用SQLCipher Demo

此为实例代码,详细讲解请参考: http://blog.csdn.net/guolin_blog/article/details/11952409 如对资源内容有疑问,请到博客中留言。

2013-10-17

Android 3D滑动菜单完全解析,实现推拉门式的立体特效Demo

此为示例代码,详解讲解请参考博文: http://blog.csdn.net/guolin_blog/article/details/10471245 如果对资源内容有疑问,可以到博客中留言。

2013-09-29

Android中轴旋转特效实现,制作别样的图片浏览器

此为示例代码,详解讲解请参考博文: http://blog.csdn.net/guolin_blog/article/details/10766017 如果对资源内容有疑问,可以到博客中留言。

2013-09-19

Android多点触控技术实战,对图片进行缩放和移动Demo

此为示例代码,详细讲解请参考博文: http://blog.csdn.net/guolin_blog/article/details/11100327 如果对资源内容有疑问,可以到博客中留言。

2013-09-11

Android瀑布流照片墙实现,体验不规则排列的美感Demo

此为示例代码,详细讲解请参考: http://blog.csdn.net/guolin_blog/article/details/10470797

2013-09-05

Android瀑布流照片墙实现,体验不规则排列的美感

此为示例代码,详细讲解请参考: http://blog.csdn.net/guolin_blog/article/details/10470797

2013-09-04

Android双向滑动菜单完全解析,教你如何一分钟实现双向滑动特效demo

此为示例代码,详细讲解请参考: http://blog.csdn.net/guolin_blog/article/details/9671609

2013-08-29

Android滑动菜单框架Demo修正版

此版本修正了以下内容: 1.将滑动方式改成了覆盖型。 2.ListView上下滚动时不会轻易滑出菜单。 3.正在滑动时屏蔽掉内容布局上的事件。 4.当菜单布局展示时,点击一下右侧的内容布局,可以将菜单隐藏。

2013-08-21

Android二维码扫描Demo 程序源码

此为示例代码,详细讲解请参考: http://blog.csdn.net/guolin_blog/article/details/9526247

2013-08-08

Android照片墙应用实现Demo

此为示例代码,详细讲解请参考: http://blog.csdn.net/guolin_blog/article/details/9526203

2013-07-31

Android教你如何一分钟实现下拉刷新功能项目完整实例代码

此为示例代码,详解讲解请参考 http://blog.csdn.net/sinyu890807/article/details/9255575

2013-07-11

Android系统联系人全特效实现,字母表快速滚动

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/9050671

2013-06-12

Android系统联系人全特效实现,分组导航和挤压动画demo

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/9033553

2013-06-06

巧用Android网络通信技术,在网络上直接传输对象demo

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/8967080

2013-05-23

Android使用Fragment实现兼容手机和平板的程序

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/8744943

2013-05-13

Android使用Fragment实现兼容手机和平板的程序demo

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/8744943

2013-05-12

Android图片滚动,加入自动播放功能,使用自定义属性实现,霸气十足demo

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/8796877

2013-04-13

Android滑动菜单框架完全解析,加入点击未隐藏部分回到主界面的功能

此代码为之前 Android滑动菜单框架完全解析,教你如何一分钟实现滑动菜单特效demo 的扩展版,主要加入了在菜单界面点击未隐藏部分,可以回到主界面的功能。

2013-04-11

Android实现图片滚动控件,含页签功能demo

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/8769904

2013-04-07

Android滑动菜单框架完全解析,教你如何一分钟实现滑动菜单特效demo

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/8744400

2013-04-02

Android滑动菜单特效实现,仿人人客户端侧滑效果demo程序源码

此为示例代码,详细讲解请参考http://blog.csdn.net/sinyu890807/article/details/8714621

2013-03-26

Android滑动菜单特效实现,仿人人客户端侧滑效果,史上最简单的侧滑实现

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/8714621

2013-03-25

Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果 源码程序

此为实例源码,详细讲解请参考博文http://blog.csdn.net/sinyu890807/article/details/8689140

2013-03-19

ADT-0.9.9.zip

eclipse上android开发的插件

2010-11-24

鸟哥的Linux私房菜(第一版)

鸟哥的Linux私房菜,最权威,最基础的Linux学习资料,为Linux初学者必备教材

2010-01-28

Android指纹认证Demo源码

此为文章示例代码,完整讲解请参考 https://blog.csdn.net/guolin_blog/article/details/81450114

2018-08-20

Android 8.0系统通知栏适配Demo

此为示例代码,详细文章请参考 https://blog.csdn.net/guolin_blog/article/details/79854070

2018-04-14

guolin的留言板

发表于 2020-01-02 最后回复 2020-05-08

ListView里面包含Textview,TextView中有autolink的话,ListView的所有事件就无效了

发表于 2011-08-31 最后回复 2019-11-08

Java静态方法问题,也许无解,求高人看看有没有思路

发表于 2013-01-06 最后回复 2017-02-10

Android ListView在滚动的时候上下边界会出现模糊效果,怎么去除啊?

发表于 2011-07-18 最后回复 2017-02-05

android sdk安装提示网络连接不上

发表于 2010-08-13 最后回复 2013-09-25

Java使用Math类计算三角函数的问题

发表于 2011-06-17 最后回复 2013-05-04

交给spring管理的struts2的action,如何在超链接上传递参数?

发表于 2011-01-27 最后回复 2011-08-03

Android里面ComponentName这个类没有clone这个方法

发表于 2011-04-05 最后回复 2011-04-05

一个Android程序如何去调用其他Android程序的类

发表于 2011-04-05 最后回复 2011-04-05

rememberMeProcessingFilter始终不起作用

发表于 2010-11-06 最后回复 2011-01-27

scriptaculous中的scale属性不能缩放元素中的内容, 纠结中

发表于 2010-04-17 最后回复 2011-01-27

Struts2中使用.action的页面刷新时都会出现个提示框

发表于 2010-02-21 最后回复 2010-03-02

Ajax向服务器端发送Xml数据,提示404错误

发表于 2010-02-15 最后回复 2010-02-18

使用Weblogic和Tomcat架设服务器提供文件下载出现问题

发表于 2010-02-03 最后回复 2010-02-03

Oracle建立带参数的存储过程,出现错误

发表于 2010-01-31 最后回复 2010-01-31

Struts2中的标签的使用问题

发表于 2010-01-28 最后回复 2010-01-28

解压版tomcat和安装版tomcat默认的根目录不一致啊,可不可以修改?

发表于 2009-10-29 最后回复 2009-10-30

解压版tomcat中,jsp文件使用了相对路径操作就会报错

发表于 2009-10-23 最后回复 2009-10-24

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