自定义博客皮肤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移动开发,热爱分享,支持开源

原创 【SealDEV 倾情奉献】Android APK 安装过程详解

开发 Android 应用后,一般都会安装到手机上去运行,了解应用是如何安装到手机上的,可以更好的理解应用的本质,理解应用是如何运行的,在自己开发的应用遇到一些问题时,会从更深层次去分析,快速定位找到原因。这一篇文章中我们就来详细分析一下应用是如何安装的。背景知识要想详细了解 APK 的安装过程,...

2017-06-05 09:07:43 2843 6

原创 关于『65535问题』的一点研究与思考

背景 产生65535问题的原因 LinearAlloc问题的原因 Google提出的MultiDex方案 MultiDex实现原理 缺点 美团的多Dex分包动态异步加载方案 多Dex分包 异步加载方案 参考资料 关于我 背景目前来说,对于使用Android Studio的朋友来说,MultiDex...

2015-12-27 16:49:31 20905 19

原创 《Android源码设计模式解析》读书笔记——Android中你应该知道的设计模式

断断续续的,《Android源码设计模式解析》也看了一遍,书中提到了很多的设计模式,但是有部分在开发中见到的几率很小,所以掌握不了也没有太大影响。 我觉得这本书的最大价值有两点,一个是从设计模式的角度去理解Android源码,结合着日常开发中的常用类,对设计模式的理解会更加的深刻;另外一...

2015-12-13 18:03:58 17602 3

原创 Android重难点解析——面试中可能被问到的那些问题

这篇项目主要介绍Android中的一些重难点概念,也包括面试中可能被问到的经典问题。 因为这些知识点比较琐碎,不太适合写成一篇文章,所以采用Github管理,内容会首先在Github更新,这里不定时同步,如果你想第一时间收到通知,请关注Github中的该项目。 项目地址Android重难...

2015-12-11 16:12:52 21557 7

原创 关于三种『应用内主题切换』开源项目的一点思考

Theme 遍历View 开源项目 MultipleTheme Colorful AndroidChangeSkin 我的思考 参考文章 关于我 这里讨论的只是白天、夜晚主题切换这种场景,不涉及外部资源加载。现在要给App添加夜晚主题,所以就需要选择一种应用内部更换主题的实现方案,目前来说,比较常...

2015-12-10 17:41:45 4357 9

原创 开源项目OkHttpPlus——支持GET、POST、UI线程回调、JSON格式解析、链式调用、文件上传下载

开源项目OkHttpPlus——OkHttp封装库,支持GET、POST、UI线程回调、JSON格式解析、链式调用、小文件上传下载及进度监听OkHttpPlus介绍项目地址:https://github.com/ZhaoKaiQiang/OkHttpPlus主要功能:OkHttp封装,支持GET、...

2015-11-24 18:31:37 20872 10

原创 【凯子哥带你学Android】Andriod性能优化之列表卡顿——以“简书”APP为例

这几天闲得无聊,就打开手机上的开发者模式里面的“GPU过度绘制”功能,看看别家的App做的咋样,然后很偶然的打开了“简书”,然后就被它的过度绘制惊呆了,于是写了这篇性能分析的文章,从一个只有APK文件的角度,说下如何寻找布局中可能存在的性能问题,以及解决方案。本文章以简书Android最新版本1....

2015-11-20 19:43:49 13202 14

原创 【凯子哥带你学Android】Android专用Log开源项目——KLog

在Android开发和调试的过程中,Log的使用是非常频繁的,一个好的Log工具可以帮你节省很多时间,所以凯子哥抽空写了个这个开源项目KLog,希望可以帮助大家提高开发效率,本开源库的灵感来自于Logger KLog的特点 运行演示 使用详解 KLogd KLogdString KLogdTagS...

2015-11-14 18:23:36 11296 24

原创 关于Android中图片大小、内存占用与drawable文件夹关系的研究与分析

从上一篇文章《Android屏幕适配全攻略》写完之后,经常会有朋友问我这个问题:“能不能一个App只提供一套切图适应所有的分辨率呢?”我觉得有必要写一篇文章来研究一下这个问题,所以就有了这篇文章。 研究内容 研究方法 测试环境 研究过程 结果分析 结论 另外一个难以解释的问题 ...

2015-11-11 22:02:47 24546 42

原创 【凯子哥带你学Framework】Activity界面显示全解析

前几天凯子哥写的Framework层的解析文章《Activity启动过程全解析》,反响还不错,这说明“写让大家都能看懂的Framework解析文章”的思想是基本正确的。 我个人觉得,深入分析的文章必不可少,但是对于更多的Android开发者——即只想做应用层开发,不想了解底层实现细节——...

2015-11-09 10:26:26 15627 23

原创 【凯子哥带你学Framework】Activity启动过程全解析

It’s right time to learn Android’s Framework !一个App是怎么启动起来的? App的程序入口到底是哪里? Launcher到底是什么神奇的东西? 听说还有个AMS的东西,它是做什么的? Binder是什么?他是如何进行IPC通信的? Acti...

2015-10-27 10:14:17 41440 63

原创 【Android开源项目解析】RecyclerView侧滑删除粒子效果实现——初探Android开源粒子库 Leonids

前两天在微博上看到了这个侧滑删除的粒子效果,但是只有IOS的,所以心血来潮,写了个玩玩,下面简单介绍下实现的思路 项目简介 实现原理解析 代码实现 如何使用项目简介先不废话,上效果图项目地址:https://github.com/ZhaoKaiQiang/ParticleLayout实现原理解析其...

2015-09-23 17:12:45 6588 6

原创 【Android开源项目解析】仿支付宝付款成功及"天女散花"效果实现——看PathMeasure大展身手

话说,在前面两篇文章中,我们学习了BitmapShader、Path的基本使用,那么这一篇文章,咱们接着来学习一下PathMeasure的用法。什么,你没听说过PathMeasure?那你就要OUT咯~ 项目效果图 PathMeasure介绍 更多参考资料 项目效果图...

2015-09-15 21:35:28 7284 5

原创 【Android开源项目解析】QQ“一键下班”功能实现解析——学习Path及贝塞尔曲线的基本使用

早在很久很久以前,QQ就实现了“一键下班”功能。何为“一键下班”?当你QQ有信息时,下部会有信息数量提示红点,点击拖动之后,就会出现“一键下班”效果。本文将结合github上关于此功能的一个简单实现,介绍这个功能的基本实现思路。 项目地址https://github.com/chenupt/Bez...

2015-09-13 20:10:45 5405 8

原创 【Android开源项目解析】背景有波浪效果的TextView——从Titanic项目学习BitmapShader的使用

项目地址 https://github.com/RomainPiel/Titanic 效果展示 实现原理

2015-09-07 21:22:16 6406 4

翻译 Android中图像变换Matrix的原理、代码验证和应用(二)

注:本篇文章为转载文章,因为原文格式排版较乱,但是内容非常棒,所以整理一下,方便以后查看。 查看原文请戳:http://blog.csdn.net/pathuang68/article/details/6991988 Matrix介绍文章请戳:http://blog.csdn.net/...

2015-08-25 22:30:41 2964 1

原创 This Activity already has an action bar supplied by the window decor

问题描述:继承自AppCompatActivity,使用Toolbar替代ActionBar的时候,出现错误错误信息: 2.Caused by: java.lang.IllegalStateException: This Activity already has an action bar sup...

2015-08-12 12:40:34 9815 3

翻译 【API Guides】Android字符串资源的格式化和样式

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 本文章翻译自Android开发指导,介绍了如何对字符串资源进行格式化和设置不同的样式。 想看原文,请戳这里 字符串资源的格式化和样式 小心撇号和引用号的坑 格式化字符串 用HTML添加样式 字符串...

2015-05-21 15:34:02 3914 1

翻译 【API Guides】Android是如何根据限定符,来寻找合适的资源文件的?

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 本文主要介绍了当我们使用限定符修饰我们的资源文件夹,例如drawable-en-ldpi时,Android系统是根据什么规则对这些文件夹进行筛选和选择的。 本文不是严肃翻译,想查看原文的请戳 ...

2015-05-19 15:20:50 4424 6

翻译 使用Android Studio进行单元测试

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 Android Studio已经到了1.2版本,国内的开发者基本也在从Eclipse向Android Studio进行转变,对于Android开发者,以后必将是Android Studio的天下。 ...

2015-05-19 11:37:14 20488 5

原创 Android屏幕适配全攻略(最权威的官方适配指导)

Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因、重要概念、解决方案及最佳实践,我相信如果你能认真的学习本文,对于Android的屏幕适配,你将不再有疑惑! Android屏幕适配出现的原因 在

2015-05-19 11:34:17 160115 91

原创 【凯子哥带你做高仿】“煎蛋”Android版的高仿及优化(三)——使用GreenDao实现本地Sqlite缓存

到目前为止,煎蛋的Android项目算是告一段落了,功能基本都已完成,那么今天,我就介绍一下在煎蛋这个项目里,是怎么完成数据缓存功能的。想看代码的请戳煎蛋项目的GITHUB地址 转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 缓存功能的解决方案...

2015-05-14 08:52:34 7245 16

原创 【凯子哥带你做高仿】“煎蛋”Android版的高仿及优化(二)——大图显示模式、评论“盖楼”效果实现详解

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 在前一篇文章中,我们学习了如何进行逆向工程和TcpDump进行抓包,获取我们的数据接口,那么有了数据之后,我们就可以开始代码编写工作了。 本项目在前几天获得了daimajia大神的推荐,star数...

2015-04-27 14:54:24 13409 33

原创 【凯子哥带你做高仿】“煎蛋”Android版的高仿及优化(一)——逆向工程及TcpDump抓包入门

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 转眼之间,毕业季已经来临,四年充实而忙碌的大学也将走到尾声,我很期待毕业后的生活呀! 首先多谢各位对我的Blog的支持,大家互相交流学习,作为回报,我把自己收藏的好文章分享给大家,详情请戳An...

2015-04-14 15:03:31 15813 30

翻译 FaceBook推出的Android图片加载库-Fresco

在Android设备上面,快速高效的显示图片是极为重要的。过去的几年里,我们在如何高效的存储图像这方面遇到了很多问题。图片太大,但是手机的内存却很小。每一个像素的R、G、B和alpha通道总共要占用4byte的空间。如果手机的屏幕是480*800,那么一张屏幕大小的图片就要占用1.5M的内存。手机...

2015-04-02 09:50:12 6367 9

原创 【凯子哥带你夯实应用层】读 Develop API Guides 有感(一)

读 Develop API Guides 有感(一) 我们可以使用下面的代码动态检测当前设备是否具备某一个特性,如是否有方向传感器 PackageManager pm = getPackageManager(); if(!pm.hasSystemFeature(PackageManag...

2015-03-31 15:42:25 2405 2

原创 【凯子哥带你夯实应用层】还在用XListView?试试更漂亮的AutoLoadListView吧!

关于上拉刷新和下拉加载,已经有不少的解决方案了,XListView和PullToRefresh应该是被广为熟知的开源项目,项目很棒,可以解决我们的需求。但是,今天咱们用一种更简单的方式,来实现上拉刷新和下拉加载功能,我叫它AutoLoadListView~先来一张效果图。刷新效果使用19版本之后的...

2015-03-31 10:59:34 6093 11

翻译 用RxJava.Observable取代AsyncTask和AsyncTaskLoader-RxJava Android模版

在网上有很多关于RxJava入门指南的帖子,其中一些是基于Android环境的。但是,我想到目前为止,很多人只是沉迷于他们所看到的这些,当要解决在他们的Android项目中出现的具体问题时,他们并不知道如何或者是为什么要使用RxJava。在这一系列的文章中,我想要探索在我工作过的一些依赖于RxJa...

2015-03-30 14:54:01 8429 2

原创 【凯子哥带你夯实应用层】新手必备的常用代码片段整理(二)

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 以下内容来自多个开源项目的整理和自己的项目积累收集设备信息用于信息统计分析 是否有SD卡 动态隐藏软键盘 动态显示软键盘 动态显示或者是隐藏软键盘 主动回到Home后台运行 获取状态栏高度 获取状态栏高...

2015-03-29 11:05:56 4525 5

原创 【凯子哥带你夯实应用层】新手必备的常用代码片段整理(一)

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 以下内容来自多个开源项目的整理 拨打电话 context.startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel...

2015-03-29 09:34:59 6112 7

原创 【凯子哥带你夯实应用层】使用ActionProvider实现子菜单时遇到的一个坑

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992     最近在重温Android基础,在看到ActionProvider的时候遇到一个坑,分享到大家,避免入坑。    首先简单介绍下ActionProvider。    ShareActionProvid...

2015-03-18 11:41:51 3675 8

原创 【凯子哥带你夯实应用层】使用ActionMode实现有删除动画的多选删除功能

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992     ActionMode是3.0之后,官方推荐的一种上下文菜单的实现方式,在之前一直用的是Context Menu,今天这篇文章简单介绍一下ActionMode,并实现多选删除功能。    如果要在Li...

2015-03-16 11:00:37 3907 5

翻译 【凯子哥带你夯实应用层】Android的Google官方设计指南(上)

本文章是我公司一个大牛之前的公司同事翻译的Android的Google官方设计指导,经过我整理而成,分享给大家,欢迎转载,但是请保留出处和翻译作者。本指导内容详实、规范,无论是初级开发者还是高级开发者,甚至是公司产品设计和美工,都应该研读学习,特此推荐!由于文章内容较颇多,所以我分为几篇发布,方便...

2015-03-03 09:03:42 17961 29

原创 【凯子哥带你夯实应用层】滚来滚去,滚来滚去...Scroller相关类使用大揭秘!!!

其实说到这里,有的同学可能比较迷惑,OverScroller和Scroller有什么区别呢?事实上,这两个类都属于Scrollers,Scroller出现的比较早,在API1就有了,OverScroller是在API9才添加上的,出现的比较晚,所以功能比较完善,Over的意思就是超出,即OverS...

2015-03-01 17:53:55 8004 13

原创 【凯子哥带你夯实应用层】都说“知乎”逼格高,我们来实现“知乎”回答详情页动画效果

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992     2014已经远去,2015年的目标很简单,就是继续熟悉Android的上层API,虽然偶尔会为了某个问题去研究下FrameWork的代码,但是对于我们这种新手来说,只有对上层的API用的熟练了,才能...

2015-02-27 16:33:20 8788 30

原创 【Android开发经验】关于“多线程断点续传下载”功能的一个简单实现和讲解

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992    上班第一天,在技术群里面和大家闲扯,无意中谈到了关于框架的使用,一个同学说为了用xUtils的断线续传下载功能,把整个库引入到了项目中,在google的官方建议中,是非常不建议这种做法的,集合框架虽然...

2015-02-25 19:46:50 7548 15

原创 一个Android开发者开博一周年的成长日记——送给不知如何下手的【初级开发者】和【在校生】

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992     今天一看日历,哟,2.12号,这不是我第一份工作入职的时间吗?不知不觉竟然已经工作了一年了,那根据“主席”的话说,应该算是中级开发者水平了!在这工作的一年里,我有过迷茫,有过动摇,但更多,则是坚持和...

2015-02-12 10:52:56 6887 59

原创 Android开发相关的Blog推荐——跟随大神的脚步才能成长为大神

本篇文章主要纪录我在学习过程中,发现的非常给力的CSDNBlog和个人Blog,这些Blog都有一个共同的特点,即内容详实,讲解透彻,也算是给后来的初学者指一条路吧!只要你下定决心跟随强者的脚步,成为人们眼中的大神,只不过是时间问题! 下面排名不分先后

2015-02-11 11:53:33 37822 50

翻译 【Android开发经验】兼容不同的屏幕大小(推荐,最官方的适应屏幕大小的经验)

由于Android设备的碎片特性,关于屏幕适配的话题一直绵绵不休,这篇文章是Android开发者官网的屏幕适配教程,算是非常官方的解决方案,我们可以从这里学到很多。 这节课教你如何通过以下几种方式支持多屏幕: ☞确保你的布局能自适应屏幕 ☞根据你的屏幕配置提供合适的UI布局 ...

2015-02-10 09:56:09 12816 8

翻译 【Android开发经验】Bitmap高效显示系列——如何有效的加载大尺寸Bitmap

我们先看一下加载原图消耗的时间和内存,内存分配190ms,内存占用44.92M,因为我的Smartisan1内存充足,所以没问题,如果是比较老的机型,可能就直接崩掉了! 下面我们再看使用小尺寸的运行结果,内存分配花费89ms,内存占用10.39M,相比之前内存少占用34.53M,所以说使用小尺寸的...

2015-02-05 09:45:19 4682 11

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