- 博客(33)
- 资源 (10)
- 问答 (3)
- 收藏
- 关注
原创 爬楼梯问题迭代算法解!
有一段楼梯有10级台阶,规定每一步只能跨一级或两级或三级,要登上第10级台阶有几种不同的走法? 思路:0节楼梯: 1 (0) 1节楼梯: 1 (1)2节楼梯: 2 (11、 2)3节楼梯: 4 (111、 12、 21、 3)抽象f(n)=f(n-3)+f(n-2)+f(n-1) 递归法性能 stat
2016-08-31 18:45:44 1949
原创 Android触摸事件总结
下图给出了具体的流程分析。 点击查看大图 点击查看大图参考链接:http://a.codekk.com/detail/Android/Trinea/%E5%85%AC%E5%85%B1%E6%8A%80%E6%9C%AF%E7%82%B9%E4%B9%8B%20View%20%E4%BA%8B%E4%BB%B6%E4%BC%A0%E9%80%92
2016-08-24 16:51:23 491
转载 Volley框架之三 疑难实现
不了解Volley可以先看这里: Android Volley入门到精通:初识Volley的基本用法Volley的源码解析可以看这里:Volley源码解析1 .Requset是在哪里处理的?主线程还是子线程?子线程处理Request,只要new了一个RequestQueue那么就会开启1个缓存线程,4个网络请求线程,CacheDispatcher/NetworkDispat
2016-08-24 14:41:27 1148
转载 Android Universal Image Loader 源码分析
转自:http://a.codekk.com/detail/Android/huxian99/Android%20Universal%20Image%20Loader%20%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90 项目:Android-Universal-Image-Loader,分析者:huxian99,校对者:Trinea本文为 And
2016-08-24 11:10:58 527
转载 Android状态栏微技巧,带你真正理解沉浸式模式
版权声明:本文出自郭霖的博客,转载必须注明出处。目录(?)[+]转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/51763825本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。记得之前有朋友在留言里让我写一篇关于沉
2016-08-24 10:31:14 1403
转载 Android 动画基础总结
转自:http://a.codekk.com/detail/Android/lightSky/%E5%85%AC%E5%85%B1%E6%8A%80%E6%9C%AF%E7%82%B9%E4%B9%8B%20Android%20%E5%8A%A8%E7%94%BB%E5%9F%BA%E7%A1%80 项目:,分析者:lightSky,校对者:Trinea本文为
2016-08-23 19:12:00 522
转载 JAVA线程池ThreadPoolExecutor与阻塞队列BlockingQueue
转自:http://blog.csdn.net/shixing_11/article/details/7109471从Java5开始,Java提供了自己的线程池。每次只执行指定数量的线程,java.util.concurrent.ThreadPoolExecutor 就是这样的线程池。以下是我的学习过程。首先是构造函数签名如下:[java] view pla
2016-08-23 15:58:38 1204
转载 Volley 源码解析
转自:http://a.codekk.com/detail/Android/grumoon/Volley%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90 项目:Volley,分析者:grumoon,校对者:Trinea本文为 Android 开源项目源码解析 中 Volley 部分项目地址:Volley,分析的版本:35ce778,Dem
2016-08-23 13:35:26 519
原创 安卓HandlerThread使用
做程序员的好处就是,你永远都觉得你不会的太多。言归正传,所谓HandlerThread,本质就是一个Thread,并在这个Thread的run方法中进行了Looper的相关操作.下面是HandlerThread的run方法源码: /** * Call back method that can be explicitly overridden if needed to e
2016-08-23 10:55:57 743
原创 安卓大图加载开源库LargeImage源码解析
开源库地址:https://github.com/LuckyJayce/LargeImage先上原作者对此开源的简介,后面我们会有详细的介绍LargeImageAndroid 加载大图 可以高清显示10000*10000像素的图片实现原理监听View的显示区域的变化,然后加载显示区域内应该显示的图片区域,然后绘制到View上1.UpdateView负责监听显示区域的变化的V
2016-08-22 17:24:50 2695
原创 安卓图片三级缓存策略与实现
前言:这里说的三级缓存,分别指的是:内存缓存、文件缓存和网络这三个层面。一般来说,我们首次加载图片,内存和文件是没有缓存的,这样我们需要从网络加载,加载完成后,我们会存到内存和文件中去;当再次加载图片的时候,我们会先查找内存有没有,如果有就直接显示内存中的图片,如果没有,我们会接着查找文件中是否有,如果文件中有,我们会显示文件中的图片,并且把它存到内存中去,这样下次我们在内存中就能找到它了
2016-08-18 19:26:08 5954 1
转载 Android Volley入门到精通:定制自己的Request
from : http://www.apihome.cn/view-detail-70213.html经过前面两篇文章的学习,我们已经掌握了Volley各种Request的使用方法,包括StringRequest、JsonRequest、ImageRequest等。其中StringRequest用于请求一条普通的文本数据,JsonRequest(JsonObjectRequest、
2016-08-18 17:21:40 1215
转载 Android Volley入门到精通:使用Volley加载网络图片
from:http://www.apihome.cn/view-detail-70212.html在上一篇文章中,我们了解了Volley到底是什么,以及它的基本用法。本篇文章中我们即将学习关于Volley更加高级的用法在上篇文章中有提到过,Volley是将AsyncHttpClient和Universal-Image-Loader的优点集成于一身的一个框架。我们都知道,Un
2016-08-18 17:20:36 453
转载 Android Volley入门到精通:初识Volley的基本用法
from : http://www.apihome.cn/view-detail-70211.html1. Volley简介我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在
2016-08-18 17:19:39 734
原创 内存分析工具MAT(Memory Analyzer Tool)从安装到使用
一.安装首先,你得有一个Eclipse(因为MAT是Eclipse的插件)然后,你要在Eclipse上安装MAT,步骤如下:1.点击Help,Install New Soft,就出现了以下Install界面:然后我们点击ADD,在弹出的框中填上Mat插件的地址:http://download.eclipse.org/mat/1.6/update-site/,确定后,点击Select
2016-08-17 19:42:55 41614 8
转载 Android应用程序启动过程源代码分析
最近一直在转载博客,可能自己不懂的太多了吧。~加油加油转自:http://blog.csdn.net/luoshengyang/article/details/6689748版权声明:本文为博主原创文章,未经博主允许不得转载。 前文简要介绍了Android应用程序的Activity的启动过程。在Android系统中,应用程序是由Activity组成的,
2016-08-16 20:18:39 639
转载 正确使用Android性能分析工具——TraceView
原文出处: bxbxbai 的博客(@白瓦力) 前面唠叨最近公司app中有些列表在滑动的时候会有卡顿现象,我就开始着手解决这些问题,解决问题之前首先要分析列表滑动的性能瓶颈在什么地方。因为之前不会正确使用TraceView这个工具,主要是看不懂TraceView界面下方数据指标的值代表什么意思…以前我用StopWatch类来分析性能,现在觉得弱爆了…不过有些地方StopWatc
2016-08-10 15:05:13 593
转载 Android 编程下的 TraceView 简介及其案例实战
TraceView 是 Android 平台配备一个很好的性能分析的工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到 method。详细内容参考:Profiling with Traceview and dmtracedumpTraceView 简介TraceView 是 Android 平台特有的数据采集和分析工具,它主要用于分析 Android 中
2016-08-10 14:20:02 1089
转载 Android 应用启动速度优化之 Systrace 的使用
Systrace 简介Android 应用启动速度优化方式有很多方法,不过在优化之前,需要找到应用启动速度的瓶颈,找到关键点之后,再去优化,则可以达到事半功倍的效果。 Google 提供了很多 Debug 工具来帮助我们优化应用,这其中就包括 Systrace 工具。Systrace 是 Android 4.1 中新增的性能数据采样和分析工具。它可帮助开发者收集 Android 关
2016-08-09 16:18:29 3583
原创 Systrace生成的trace.html打开空白或者打不开的解决办法
1.必须用Chrome打开2.在mac电脑上,可能Chrome打开也是空白,解决办法是:在chrome地址栏中输入”chrome:tracing”,然后点击load按钮load你的trace.html文件。
2016-08-09 16:15:47 18356 8
转载 单例模式的七种写法
转载请注明出处:http://cantellow.iteye.com/blog/838473 第一种(懒汉,线程不安全): Java代码 public class Singleton { private static Singleton instance; private Singleton (){} public stati
2016-08-04 18:50:05 561
翻译 Handler源码翻译
一直以为Handler类肯定很庞大,结果打开源码一看,,,都是骗人的,庞大的不是代码,是英文注释。。。好吧,那我们先从这庞大的英文注释开始,用我蹩脚的英文为大家翻译一下。如有不妥之处,欢迎之处,批评,嘲笑,更正o(╯□╰)o还没翻译完,回头再翻译。/* * Copyright (C) 2006 The Android Open Source Project * * License
2016-08-04 14:27:06 794
原创 Runnable,Callable,Future,RunnableFuture,FutureTask,ExecutorService的关系
如图:
2016-08-04 10:27:12 1201
转载 用两个队列实现栈
转自:http://blog.csdn.net/renlei0109/article/details/52105908思路 假设有两个队列Q1和Q2,当二者都为空时,入栈操作可以用入队操作来模拟, 可以随便选一个空队列,假设选Q1进行入栈操作,现在假设a,b,c依次入栈了(即依次进入队列Q1), 这时如果想模拟出栈操作,则需要将c出栈,因为在栈顶,这时候可以考虑用空队列Q2,将a,
2016-08-03 18:58:31 540
转载 通过两个栈实现队列
原理思想: 建两个栈,stackNewest和stackOldest。 要始终保持:newStack的栈顶总是存放着最新的元素,oldStack的栈顶总是存放着最旧的元素。因为我们放新数据的时候是放入newStack,而取数据的时候是从oldStack去取。 而且为了尽量减少栈之间的倒腾,只有在必须时(peek或pop)才倒腾栈。 建立两个栈,一个newStack如果有新的值来
2016-08-03 17:43:05 576
翻译 Future类源码解析翻译
/** * A Future represents the result of an asynchronous * computation. Methods are provided to check if the computation is * complete, to wait for its completion, and to retrieve the result o
2016-08-03 17:32:29 1013
转载 Callable,Runnable比较及用法
编写多线程程序是为了实现多任务的并发执行,从而能够更好地与用户交互。一般有三种方法,Thread,Runnable,Callable.Runnable和Callable的区别是,(1)Callable规定的方法是call(),Runnable规定的方法是run().(2)Callable的任务执行后可返回值,而Runnable的任务是不能返回值得(3)call方法可以抛出异常,
2016-08-03 16:48:45 862
转载 SQLiteDatabase类的query(),insert(),update(),delete()方法参数说明
1、SQLiteDataBase对象的query()接口: public Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having,String orderB
2016-08-03 16:27:41 2257 1
转载 SQLite 数据类型
SQLite 数据类型SQLite 数据类型是一个用来指定任何对象的数据类型的属性。SQLite 中的每一列,每个变量和表达式都有相关的数据类型。您可以在创建表的同时使用这些数据类型。SQLite 使用一个更普遍的动态类型系统。在 SQLite 中,值的数据类型与值本身是相关的,而不是与它的容器相关。SQLite 存储类每个存储在 SQLite 数据库中的值
2016-08-03 11:07:36 889
转载 gradle编译慢的解决办法,优化android studio编译效率
原文 http://www.devtf.cn/?p=585引言 如果你之前用eclipse开发过Android app的化,转到android studio的第一反应也许就是:”编译速度有点慢”. 表现的最明显的一点就是,当我使用eclipse开发的时候,选中了auto building.这个时候 我更改了几个字符,eclipse会速度非常快的编译出一个新的apk. 而and
2016-08-02 14:46:16 9789
转载 Android SQLite数据库版本升级原理解析
Android使用SQLite数据库保存数据,那数据库版本升级是怎么回事呢,这里说一下。一、软件v1.0安装v1.0,假设v1.0版本只有一个account表,这时走继承SQLiteOpenHelper的onCreate,不走onUpgrade。1、v1.0(直接安装v1.0)二、软件v2.0有2种安装软件情况:1、v1.0 --> v2.0
2016-08-01 16:03:30 927
转载 Android中个人推崇的数据库使用方式
手机应用开发中经常会使用到数据库存储一些资料或者进行数据缓存,android中为我们提供了一个轻量的数据库,在上层进行了一层封装,同时还为我们提供了ContentProvider的框架,方便我们进行数据操作,以及在不同的程序之间进行数据共享。本文介绍一下,我在使用数据库的一些我认为比较好的习惯,欢迎与我讨论。关于框架通常网络操作,Json解析,我都会使用框架,这样可以很好的帮助
2016-08-01 13:55:08 618
Android调起系统邮箱?
2016-12-06
哈希表用拉链法解决冲突的时候怎么根据K进行查找值?
2016-09-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人