[置顶] Picasso学习笔记

下面是我在学习Picasso过程中做的笔记.关于图片加载库的思考 我们为什么要用图片库呢? 图片库通常会对图片加载逻辑进行封装、优化,比如多级缓存/异步线程调度/图片压缩变换,有了这些特性,开发者不再需要关注内存占用、 OOM、网络请求等问题,而只需关注业务本身的逻辑,这对提高生产效率还是很有帮助的。 我通过调研一些图片库,发现一个图片加载库通常有以下模块: 请求分发模块。负...
阅读(5761) 评论(6)

[置顶] 【安卓笔记】Volley全方位解析,带你从源码的角度彻底理解

转载请声明原出处(blog.csdn.net/chdjj),谢谢! Volley 是 Google 推出的轻量级 Android 异步网络请求框架和图片加载框架。在 Google I/O 2013 大会上发布。其适用场景是数据量小,通信频繁的网络操作。...
阅读(2757) 评论(3)

[置顶] 【源码】HashMap源码剖析

注:以下源码基于jdk1.7.0_11 之前的几篇文章介绍了List集合中一些比较常见的类,比如ArrayList、LinkedList、Vector等。本篇文章将介绍集合框架的另一块内容——Map集合。本文主要介绍HashMap。 先回顾下哈希表。 哈希表定义:根据设定的hash函数和处理冲突的方式(开放定址、公共溢出区、链地址、重哈希...)将一组关键字映...
阅读(2872) 评论(2)

[置顶] 深入理解JVM内幕

原文:http://www.cubrid.org/blog/dev-platform/understanding-jvm-internals/ 在这篇文件里,我会阐述JVM是如何运行的,包括它的结构,它如何去执行字节码,以及按照怎样的顺序去执行,同时我还会给出一些常见错误的示例以及对应的解决办法。 虚拟机(Virtual Machine) JRE是由Java API和JVM组成的...
阅读(2108) 评论(2)

FloatingActionButton源码解析

FloatingActionButton源码解析背景FloatingActionButton(下文以fab代替)是android support design组件库中提供的一个视图控件,是material design设计中fab的官方实现。此控件的官方介绍如下: Floating action buttons are used for a promoted action. They are d...
阅读(7692) 评论(1)

Service#onStartCommand返回值解析

Service#onStartCommand返回值解析Service类有个生命周期方法叫onStartCommand,每次启动服务(startService)都会回调此方法。此方法的原型如下: public int onStartCommand(Intent intent, int flags, int startId) 需要关注的是这个方法有一个整型的返回值,它有以下选项:START_STIC...
阅读(1495) 评论(0)

android冷启动优化

android冷启动优化1. 什么是冷启动冷启动指的是应用第一次启动或者应用被杀死(不在内存中)后重新启动的情况。 你可能已经发现了,这种情况下启动时间会稍长一点。因为它会重新初始化资源(Application等)。app启动时通常会在Application或者所谓的SplashActivity中做初始化工作。如果Application中的工作过多的话, 那么当冷启动的时候,就会出现白屏情况,因为...
阅读(2055) 评论(2)

Downloadmanager in android

Downloadmanager使用 DownloadManager是android提供的一个下载管理器 缺点:不支持断点续传 使用方法: 创建实例:DownloadManager manager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE); 创建下载任务:DownloadManager.R...
阅读(1267) 评论(1)

HttpCache in android

github地址:https://github.com/Rowandjj/AndroidHttpCache概述http Cache指的是web浏览器所具有的复用本地已缓存的文档”副本”的能力。我们知道,通过网络获取内容有时候成本很高,因而 缓存和重用以前获取的资源的能力成为优化性能很关键的一个方面。http协议本身提供了缓存的支持。缓存的优势1. 减少冗余数据传输 2. 缓解网络带宽瓶颈...
阅读(1931) 评论(4)

java8新特性学习

内容: 1. lambda表达式 2. streamAPI 3. 内置函数接口 4. 接口默认实现方法 5. android中使用lambda/streamAPI=======1.lambda表达式: 几种形式:()->statement ()->(statement) ()->{statement}以Thread为例:new Thread(new Runnable(){ pub...
阅读(1223) 评论(1)

实现一个Material效果的ProgressBar

先来看看效果: 分析下难点: 1. 动画的实现; 2. 边界的控制; 3. 状态保存与恢复; 4. 两种状态的实现,loading状态(不停旋转)、progress状态。分别来看下。 1. 动画如何实现: 将动画进行拆解,可以发现它其实是一个弧不断变长变短的一个过程+弧本身在绕圆形转动两部分组成。 所以可以分开来处理,弧度变长变短可以通过canvas.drawArc的参数st...
阅读(1488) 评论(0)

仿易讯客户端loading效果

下面来实现一个loading效果。具体效果如下: 首先对这个效果进行拆分,它由以下部分组成: 1 一个”闪电”样式的图案; 2 “闪电”图案背后是一个圆角矩形; 3 “闪电”图案上面有一层颜色不断”飘过” 拆分完效果后,思考下如何实现。下面是我的思考过程。 1 android sdk并没有提供这样的控件,很显然是需要自定义控件; 2 很显然是一个View而不是ViewGroup,所以可以...
阅读(1151) 评论(1)

【安卓笔记】ormlite入门

ps:写这篇文章的目的是尝试下新的markdown编辑器哈哈简介 ORMLite provides a lightweight Object Relational Mapping between Java classes and SQL databases. There are certainly more mature ORMs which provide this functionality...
阅读(1030) 评论(0)

【安卓笔记】使用DialogFragment托管dialog

普通的AlertDialog在横竖屏切换时会被销毁,如果dialog上面有数据,也将丢失。解决方案是使用DialogFragment。 使用dialogFragment通常需要复写两个方法: onCreateView(LayoutInflater, ViewGroup, Bundle) onCreateDialog(Bundle) 如果你想自定义dialog样式,只需要复写onCreat...
阅读(1002) 评论(0)

【安卓笔记】崩溃日志收集

应用发布之后,总有人反馈说发生crash,但是由于拿不到log,我无法定位问题。后来发现,我们应该收集crash日志,并上传到服务器。国内有很多的三方机构提供了崩溃收集的sdk,我们可以直接拿来使用,比如,我之前做的app使用的是bugHD(http://bughd.com/)提供的服务。但是崩溃收集的原理是什么呢?搜索了一下,发现使用的是java中的uncaughtExceptionHandle...
阅读(1261) 评论(2)

【安卓笔记】gradle入门

随着Android Studio越来越完善,更多的开发者舍弃掉Eclipse。但是新的IDE与以往的Eclipse有很大区别,这导致部分开发者望而却步,其中一个大家觉得比较麻烦的是Android Studio采用的新的构建系统,gradle。那么这篇文章我将对gradle进行一个简单介绍(主要讲gradle配合Android Studio的使用),希望帮助大家熟悉gradle。一. gradle是...
阅读(2754) 评论(6)

【安卓笔记】RecyclerView+SwipeRefreshLayout示例

通过这篇文章你将学会:1.RecyclerView的基本用法;2.SwipeRefreshLayout的基本用法;3.为RecyclerView的item添加响应事件。RecyclerView简单说下,它是用来替代传统ListView的,RecyclerView更加灵活,而且可以与动画很好的结合,你可以很方便的为每个item增加各种动画效果,另外,RecyclerView强制使用ViewHolde...
阅读(3739) 评论(0)

【安卓笔记】CardView+RecyclerView使用示例

CardView+RecycleView可以非常方便的实现一个卡片式列表布局,之前编写卡片式布局非常麻烦(地址:http://blog.csdn.net/chdjj/article/details/41546477),还得编写各种资源文件。另外,单独使用RecyclerView我们还得关注ItemDecoration,但是使用CardView就不必管了,因为CardView本身就可以设置阴影。下面...
阅读(1965) 评论(0)
263条 共18页1 2 3 4 5 ... 下一页 尾页
    联系方式
    个人资料
    • 访问:454782次
    • 积分:7769
    • 等级:
    • 排名:千里之外
    • 原创:248篇
    • 转载:8篇
    • 译文:7篇
    • 评论:198条
    我的微博
    博客专栏