
android
文章平均质量分 61
TOP_WARNING
这个作者很懒,什么都没留下…
展开
-
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 · 3983 阅读 · 2 评论 -
Android性能调优利器StrictMode
【原文地址 点击打开链接】作为Android开发,日常的开发工作中或多或少要接触到性能问题,比如我的Android程序运行缓慢卡顿,并且常常出现ANR对话框等等问题。既然有性能问题,就需要进行性能优化。正所谓工欲善其事,必先利其器。一个好的工具,可以帮助我们发现并定位问题,进而有的放矢进行解决。本文主要介绍StrictMode 在Android 应用开发中的应用和一些问题。转载 2017-01-12 12:54:09 · 578 阅读 · 0 评论 -
HTTP协议详解
【原文地址点击打开链接】本书是介绍怎么编写一个Web服务器,而Web服务器是基于HTTP(HyperText Transfer Protocol)协议实现的,所以要实现一个Web服务器就必须了解HTTP协议,本章主要介绍HTTP协议的相关知识,让我们对HTTP协议有个理性的认识。1.1 HTTP协议简介我们日常生活中经常会使用浏览器访问Web站点,但是大家有思考过在转载 2017-01-10 22:48:29 · 489 阅读 · 0 评论 -
Android组件化和插件化开发
【原文地址 点击打开链接】Android组件化和插件化开发什么是组件化和插件化?组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。 插件化开发和组件化开发略有不用,插件化开发时将整个app拆分转载 2016-12-02 16:14:59 · 442 阅读 · 0 评论 -
Git教程
【原文地址 点击打开链接】转载 2016-11-28 19:00:47 · 312 阅读 · 0 评论 -
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 · 4971 阅读 · 0 评论 -
解读Google官方SwipeRefreshLayout控件源码,带你揭秘Android下拉刷新的实现原理
【原文地址 点击打开链接】前言想必大家也发现,时下的很多App都应用了这个Google出品的SwipeRefreshLayout下拉刷新控件,它以Material Design风格、适用场景广泛,简单易用等特性而独步江湖。但在我们使用的过程中,不可避免地会发现一些bug,或者需要添加某些特性来满足需求。出现这些问题,最好的方法就是解读源码,理解它实现的原理,并且在理解源转载 2016-09-10 22:17:58 · 982 阅读 · 0 评论 -
App架构设计经验谈:接口”安全机制”的设计
【原文地址 点击打开链接】原创文章,转载请注明:转载自Keegan小钢并标明原文链接:http://keeganlee.me/post/architecture/20160107微信订阅号:keeganlee_me写于2016-01-07App架构设计经验谈:接口的设计App架构设计经验谈:技术选型App架构设计经验谈:数据层的设计App架构设计转载 2016-09-08 15:32:50 · 10908 阅读 · 0 评论 -
基于七牛和fresco的一整套安卓图片解决方案
【原文地址 点击打开链接】apk内部图片优化:控制apk大小几种图片的主要特点:webp:文件最小,有透明通道。 jpg:文件较小,无透明通道。 png:文件较大,有透明通道。对于小图标1.小图标大多是不规则形状,显示时多会要求能看到后方背景,所以需要有透明通道,一般使用png。尺寸小,没必要转webp。 如果图标后方背景为纯色且确定转载 2016-09-08 14:30:02 · 863 阅读 · 0 评论 -
鲁班图片算法
【原文地址 点击打开链接】前言Luban是图片压缩工具,通过参考或者自创压缩规则推求极致的压缩效果 目前的版本压缩效果主要参考微信。因为微信用户量最大,如果压缩后的图片越接近微信则越被用户接受。说明目前的Luban只是压缩结果接近微信,自身的算法只是为了达到这个效果而设计的。与微信并无任何联系,也不敢妄称是微信的算法。算法步骤注:下文所说转载 2016-09-08 11:18:43 · 7342 阅读 · 0 评论 -
给 Android 开发者的 RxJava 详解
【原文地址 点击打开链接】前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的转载 2016-09-04 19:07:19 · 702 阅读 · 0 评论 -
正确使用Android性能分析工具——TraceView
【原文地址 点击打开链接】Android NotesHOMEARCH#ANDROID #开发技巧 #经验技术前面唠叨最近公司app中有些列表在滑动的时候会有卡顿现象,我就开始着手解决这些问题,解决问题之前首先要分析列表滑动的性能瓶颈在什么地方。因为之前不会正确使用TraceView这个工具,主要是看不懂TraceView界转载 2016-08-31 11:18:28 · 385 阅读 · 0 评论 -
国内Top500Android应用分析报告
【原文地址 点击打开链接】转载 2016-08-30 10:09:56 · 439 阅读 · 0 评论 -
Andriod性能优化之列表卡顿——以“简书”APP为例
【原文地址 点击打开链接】这几天闲得无聊,就打开手机上的开发者模式里面的“GPU过度绘制”功能,看看别家的App做的咋样,然后很偶然的打开了“简书”,然后就被它的过度绘制惊呆了,于是写了这篇性能分析的文章,从一个只有APK文件的角度,说下如何寻找布局中可能存在的性能问题,以及解决方案。本文章以简书Android最新版本1.9.1进行分析。GPU过度绘制首先打开下面两个功转载 2016-08-29 15:06:35 · 2342 阅读 · 0 评论 -
java(Android)线程池
【原文地址 点击打开链接】介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用。本文是基础篇,后面会分享下线程池一些高级功能。1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗?Java1234567new Thread(new Runnable() { @转载 2016-08-28 23:17:37 · 366 阅读 · 0 评论 -
给 Android 开发者的 RxJava 详解
【原文地址 点击打开链接】前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我转载 2016-08-22 10:41:56 · 184 阅读 · 0 评论 -
Android内存泄漏检测利器:LeakCanary
是什么?一言以蔽之:LeakCanary是一个傻瓜化并且可视化的内存泄露分析工具为什么需要LeakCanary?因为它简单,易于发现问题,人人可参与。简单:只需设置一段代码即可,打开应用运行一下就能够发现内存泄露。而MAT分析需要Heap Dump,获取文件,手动分析等多个步骤。易于发现问题:在手机端即可查看问题即引用关系,而MAT则需要你分析,找到Path转载 2016-08-17 11:07:35 · 305 阅读 · 0 评论 -
HashMap 里的“bucket”、“负载因子” 介绍
【以下内容摘抄自点击打开链接 末尾几段】对于 HashMap 及其子类而言,它们采用 Hash 算法来决定集合中元素的存储位置。当系统开始初始化 HashMap 时,系统会创建一个长度为 capacity 的 Entry 数组,这个数组里可以存储元素的位置被称为“桶(bucket)”,每个 bucket 都有其指定索引,系统可以根据其索引快速访问该 bucket 里存储的元素。转载 2016-08-14 13:41:00 · 31766 阅读 · 14 评论 -
Java HashMap工作原理
【原文地址 hashmap工作原理】大部分Java开发者都在使用Map,特别是HashMap。HashMap是一种简单但强大的方式去存储和获取数据。但有多少开发者知道HashMap内部如何工作呢?几天前,我阅读了java.util.HashMap的大量源代码(包括Java 7 和Java 8),来深入理解这个基础的数据结构。在这篇文章中,我会解释java.util.HashMa转载 2016-08-14 12:21:35 · 409 阅读 · 0 评论 -
Android 内存泄漏总结
【原文地址 Android 内存泄漏总结】内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个或某些实例所持有却不再被使用导致 GC 不能回收。最近自己阅读了大量相关的文档资料,打算做个 总结 沉淀下来跟大家一起分享和学习,也给自己一个警示,以后 coding 时怎么避免这些转载 2016-08-11 13:42:34 · 696 阅读 · 1 评论 -
Android 端外推送到底有多烦?
【原文地址 点击打开链接】说Android端外推送比较烦,实际有两层意思:首先是说实现上比较麻烦,至今业界也没有找到一种完美的解决方案,Android程序员通常需要同时集成多家推送平台(如果有自己的端内推送,还要考虑与端内推送的配合);其次是说Android推送的市场现状比较混乱,无论选择哪一家,都让人纠结万分,难免心情烦躁。无论是你花费了多少功夫,做了多少优化,仍然可能存在推送不到或推转载 2016-08-10 11:45:27 · 8281 阅读 · 0 评论 -
Android 开发各种工具类
【原文地址 点击打开链接】为方便查找,已进行大致归类,其目录如下所示: App相关→AppUtils.java安装指定路径下的Apk installApp卸载指定包名的App uninstallApp获取当前App信息 getAppInfo获取所有已安装App信息 getAllAppsInfo根据包名判断App是否安装 isInstallApp打开指定包名的App op转载 2016-08-10 11:19:21 · 1415 阅读 · 0 评论 -
图片加载到底哪家强
图片加载几乎是任何 Android 项目中必备的需求,而图片加载的开源库也越来越多,我们姑且在 GitHub 上搜索下 android image 关键字,出来的前五个按照 Star 数排序的项目如下:可以看到前四个是大家比较熟知的图片加载库,有 UniversalImageLoader、Picasso、Fresco、Glide,至于第五个 ion 其实是一个网络库,只不过也提供了转载 2016-08-09 17:25:36 · 610 阅读 · 0 评论 -
Android官方MVP架构示例项目解析
前段时间Google在Github推出了一个项目,专门展示Android引用各种各样的MVP架构,算是官方教程了。趁着还新鲜,让我们来抛砖引玉一探究竟,看看在Google眼里什么样算是好的MVP架构。App架构在Android开发者中一直是讨论比较多的一个话题,目前讨论较多的有MVP、MVVM、Clean这三种。google官方对于架构的态度一直是非常开放的,让开发者自主选择组织和架构app的方式原创 2016-08-09 15:02:57 · 369 阅读 · 0 评论 -
DeerResume:在线MarkDown简历工具
【原文地址 点击打开链接】DeerResume是一款支持实时预览、阅读密码、一键PDF生成的在线MarkDown简历工具。本文包括两个部分,特点介绍及安装指南。特点介绍拥有以下突出特点:简单低调又不失雅致的界面可自行搭建,细节可控猴子都会安装在线编辑,实时预览阅读密码,只有你愿意的人才能看到你的简历特点一:简单转载 2016-08-09 13:48:35 · 1683 阅读 · 0 评论 -
基类Activity
【原文地址 点击打开链接】版权声明:本文为博主原创文章,未经博主允许不得转载。转载请标明出处:一片枫叶的专栏在上一篇文章中我们介绍了在Android产品研发过程中,启动页的优化工作,比如启动页性能优化,启动页渐进动画效果,启动页屏蔽返回按键等等,而在本文中我们将要介绍一下在App产品研发中都会复写的基类Activity,具体可参考:Andro转载 2016-08-09 13:47:53 · 289 阅读 · 0 评论 -
Android ListView工作原理完全解析,带你从源码的角度彻底理解
版权声明:本文出自郭霖的博客,转载必须注明出处。目录(?)[+]转载请注明出处:http://blog.youkuaiyun.com/guolin_blog/article/details/44996879在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。ListVi转载 2016-08-09 13:47:31 · 375 阅读 · 0 评论 -
Java之美[从菜鸟到高手演变]之JVM内存管理及垃圾回收
版权声明:本文为博主原创文章,未经博主允许不得转载。很多Java面试的时候,都会问到有关Java垃圾回收的问题,提到垃圾回收肯定要涉及到JVM内存管理机制,Java语言的执行效率一直被C、C++程序员所嘲笑,其实,事实就是这样,Java在执行效率方面确实很低,一方面,Java语言采用面向对象思想,这也决定了其必然是开发效率高,执行效率低。另一方面,Java语言对程序员做了一个美好的转载 2016-08-08 15:31:02 · 735 阅读 · 0 评论 -
Android图片压缩技巧
【原文地址 点击打开链接】版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]请尊重他人的劳动成果,转载请注明出处:Android图片压缩技巧http://blog.youkuaiyun.com/fengyuzhengfan/article/details/41759835当需要将Android客户端的转载 2016-08-08 15:29:19 · 344 阅读 · 0 评论 -
RecyclerView:实现带header的grid
【原文地址 点击打开链接】GridView和ListView有许多的相似之处,不过也有一个显著的不同:没有header和footer。现在它们两者都可以用RecyclerView实现,我想看看如何在grid上添加header。GridLayoutManager我用GridLayoutManager创建了一个spanCount为2的RecylcerView。转载 2016-08-08 15:27:55 · 444 阅读 · 0 评论 -
Android产品研发-->Android实用调试技巧
【原文地址 点击打开链接】1概述 本文我们将讲解Android中的调试技巧。程序调试,是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。在Android开发过程中熟练的使用调试技巧是一个很重要的方面。Android的调试技巧包括熟练使用Android中的日志A转载 2016-08-08 15:27:07 · 289 阅读 · 0 评论 -
Android Studio五分钟带你从菜鸟到高级调试
【原文地址 点击打开链接】1概述 前段时间刚刚入职,还算比较幸运。进来就是让我做Android的。好多同学都去做其他没有接触过的东西了。刚开始一周肯定就是熟悉代码。但是我刚拿到代码我就呆了。做的是一个金融业务的APP。由于好多数据要加密所以,公司自己采用TCP层链接,用SSL加密协议。自己封装的网络框架和网络请求 。其中令我最头疼的就是网络请求的发包和回包以及回包数据的处理转载 2016-08-08 15:26:05 · 976 阅读 · 0 评论 -
HashCode和equal方法的区别和联系
【原文地址 点击打开链接】HashCode和equal方法的区别和联系equals()反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值。而hashCode()是对象或变量通过哈希算法计算出的哈希值。之所以有hashCode方法,是因为在批量的对象比较中,hashCode要比equals来得快,很多集合都用到了ha转载 2016-08-08 15:15:50 · 402 阅读 · 0 评论 -
Android APP终极瘦身指南
【原文地址 http://jayfeng.com/2016/03/01/Android-APP%E7%BB%88%E6%9E%81%E7%98%A6%E8%BA%AB%E6%8C%87%E5%8D%97/ 】前言之前写了一篇《APK瘦身实践》侧重于实践和效果对比,后来受徐川兄点拨,建议改写成一篇更全面的瘦身终极杀招大全,深以为然,思考良久,新开一篇。指南条例第1条:转载 2016-08-08 15:13:19 · 5120 阅读 · 0 评论 -
Android 高清加载巨图方案 拒绝压缩图片
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]Android 高清加载巨图方案 拒绝压缩图片转载请标明出处: http://blog.youkuaiyun.com/lmj623565791/article/details/49300989; 本文出自:【张鸿洋的博客】一、概述距离上一篇博客有段时间没更新了,主转载 2016-08-08 15:07:43 · 551 阅读 · 0 评论 -
Android 面试要点
【原文地址 点击打开链接】本文不算是个投稿,是作者08,目前作为某创业公司Android负责人,在群里自己整理面试题装逼的时候被我发现,私下找他要了一份,当然他也非常愿意分享~整个面试题分为三个部分:Java、Android和项目经验。1Java技术 1.1 Java基础对抽象、继承、多态的理解转载 2016-08-08 15:05:19 · 377 阅读 · 0 评论 -
观察者设计模式 Vs 事件委托(java)
【原文地址 点击打开链接】1什么是观察者模式 简单来说,当有多个观察者想同时观察同一个主题对象的时候,当主题对象的 状态发生变化,观察者能够回调自身的方法去更新自己观察者模式的类UML图1.1 实现步骤要定义一个观察者接口观察者实现观察者接口要有一个被通知者接口,里面有转载 2016-08-08 15:04:06 · 643 阅读 · 0 评论 -
教你如何循环显示超长图片
【原文地址点击打开链接】简介某次被问到如何实现一个滚筒状的控件,就是可以将一张很长的图片沿着Y轴无限旋转,如下图所示:大概就是这个意思,当时还不知道图片可以裁剪,想不出整个流程怎么搞,后来得知Bitmap有裁剪功能,才想到这个功能怎么实现,花了一下午时间整了一下有了成果。这是这张转载 2016-08-08 15:02:53 · 2520 阅读 · 1 评论 -
Android MVP架构的自述
【原文地址 点击打开链接】一、老的MVC架构刚开始接触Android的时候会觉得Android的整个代码架构就是一个MVC。M : 业务层和模型层,相当与javabean和我们的业务请求代码V : 视图层,对应Android的layout.xml布局文件C : 控制层,对应于Activity中对于UI 的各种操作看起来转载 2016-08-08 15:01:15 · 334 阅读 · 0 评论 -
VectorDrawable怎么玩
【原文地址 点击打开链接】摘要从5.0(API等级21)开始,android开始支持矢量图了。关于什么是矢量图以及矢量图有什么优缺点不在本文的涉及范围之内,具体可以参考矢量图百科。不过这里要提一下它的优点:保存最少的信息,文件大小比位图要小,并且文件大小与物体的大小无关任意放大矢量图形,不会丢失细节或影响清晰度,因为矢量图形是与分辨率无关的。 从以上两个优点转载 2016-08-08 14:59:21 · 1471 阅读 · 0 评论