自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 SQLite执行计划(Query Planning)---数据库索引篇

翻译自:https://www.sqlite.org/queryplanner.html 综述 SQL的最好特性就是它是一种描述性的语言,不是一种过程语言。当你用SQL编程,你是告诉系统你想计算什么,而不是怎么去计算它。如何计算的任务由SQL数据库引擎中的执行计划(Query Planner)子系...

2017-02-26 01:20:42

阅读数 1760

评论数 0

原创 Android平台Native代码的崩溃捕获机制及实现

原文:http://blog.httrack.com/blog/2013/08/23/catching-posix-signals-on-android/ 这篇文章主要讲述如何捕获jni crash,并打印出堆栈 捕获问题 第一步是要用信号处理函数捕获到native crash(SIGSEGV, ...

2017-01-07 21:19:41

阅读数 11703

评论数 36

原创 使用Fragment+ViewPager,仿微信实现多页Tab切换

我们今天实现类似微信的首页的滑动Tab效果:                郭霖有一篇博客  http://blog.csdn.net/guolin_blog/article/details/13171191,讲过如果实现,但是他的demo不同通过滑动切换,只能通过点击按钮切换。 通过vie...

2015-05-11 20:35:47

阅读数 2779

评论数 0

原创 如何保持service长期在后台运行

android 一直运行的后台服务是不存在的,而且也不是最佳实践,因为一直运行的后台服务会耗费大量系统资源,影响其他程序的响应从而影响到用户体验。 可以考虑使用如下几种方案来达到一直运行的效果。 1. 调用startForeground方法,android: Service vs SingleT...

2015-03-27 16:52:58

阅读数 8421

评论数 0

原创 Volley库源码分析(下)

网络请求部分分析 关于volley的网络请求部分可以看博客:http://www.cnblogs.com/bvin/p/3291611.html 网络请求中有几个转换解析请求获取响应结果的地方: 1.HttpStack接口的performRequest()方法 public Http...

2015-03-24 11:18:24

阅读数 931

评论数 1

原创 Volley库源码分析(上)

Volley使用了线程池来作为基础结构,主要分为主线程,cache线程和network线程。 主线程和cache线程都只有一个,而NetworkDispatcher线程可以有多个,这样能解决比并行问题。如下图: 其中左下角是NetworkDispatcher线程,大致步骤是: 1.不断从请...

2015-02-26 00:39:11

阅读数 1271

评论数 1

原创 优化ListView中的网络图片加载

1.使用适当的开源库,如Volley或者Universal ImageLoader 使用Volley时,可以覆写onScrollStateChanged(Activity或者Fragment中),如果处于AbsListView.OnScrollListener.SCROLL_STATE_FLING...

2015-02-10 21:24:07

阅读数 1979

评论数 0

原创 ListView源代码分析

继承关系 1、 图中单独画出Scrollview是为了说明该ViewGroup并没有自带回收机制,如果要是Scrollview显示大量view,需要手动做处理。   2、继承体系的分工 (1) AdapterView An AdapterView is a view whose ch...

2015-02-08 17:38:20

阅读数 1049

评论数 1

原创 Android中的设计模式

总结Android框架中出现的设计模式。

2015-01-31 11:26:47

阅读数 1270

评论数 0

原创 使用Glide迁移图片加载框架遇到的一些问题

背景 因为项目原有的图片加载框架已经不满足新的业务需求,而且改造成本较大,本人经过慎重的技术选型,将原有的图片加载框架整体迁移成Glide。在这个过程中我遇到了不少问题,跟大家分享一下。 1.如果ImageView不可见 或者 width为0 或者 height为0,glide是不会加载图像的...

2017-11-15 00:22:23

阅读数 621

评论数 0

原创 Glide学习笔记

Glide的一些学习笔记

2017-11-14 23:16:44

阅读数 149

评论数 0

原创 Android下的Touch事件分发

Android下的Touch事件分发

2017-10-18 22:35:15

阅读数 166

评论数 0

原创 Android 性能典范-线程

作为Android开发者,线程是最重要又是最容易让人迷惑的东西。如果你要写出流畅的app,你必须理解多线程编程。要知道有相当一部分的Android函数都只能在主线程中执行——系统事件,输入事件,application回调服务,alarm等等。大部分情况下,你在这些操作中所写的代码,也是在主线程执行。

2017-08-06 17:03:03

阅读数 220

评论数 0

原创 如何选择一个技术解决方案

原文地址:http://blog.csdn.net/mba16c35/article/details/75734176一、问题这周遇到一个用户反馈,说邮箱的记事本列表一直空白,无法加载任何记事。于是查了日志,发现用户由于记事太多一直网络超时。 long sTime = SystemClock....

2017-07-22 15:26:04

阅读数 1241

评论数 0

原创 2017年-年中总结

很喜欢夏天的风的感觉,虽然热,但是很慵懒。又到了暑假,高考结束了,几多欢喜几多愁。 半年很快就过去,在年中的时候,总结一下上半年,对下半年也做些计划。 回顾一下之前的计划,主要包括博客和开源,上半年是坚持写了几篇博客,还写了一篇高质量的Android 平台 Native 代码的崩溃捕获机制及实...

2017-07-15 13:37:47

阅读数 176

评论数 0

转载 【网络基础】为什么要对url进行encode呢?

URL编码背景 在URI的最初设计时,希望能通过书面转录,比如写在餐巾纸上告诉另外一人,因此URI的构成字符必须是可写的ASCII字符。在这些可书写的字符里,由于一些字符在不同操作系统的编码有不同的解析,被包含在“不安全字符”之中,要格外注意。 (不安全字符) 在URI的...

2017-05-09 15:26:12

阅读数 256

评论数 0

原创 SQLite执行计划优化

本文档阐述了SQLite的执行计划和查询优化是如何工作的。 给定一个SQL语句,根据语句的复杂度和数据库schema,会有许多种甚至上千种实现该语句的方法。查询计划的作用就是,在这么多方法中选择一个IO和CPU耗费最少的实现方案。 1. WHERE子句分析 一个查询语句中的WHERE子句,...

2017-03-08 21:40:12

阅读数 822

评论数 0

原创 写在2016年的最后一天

今年毕业入职,到年底发现全年都没有写过一篇博客,非常惭愧。原因除了工作之后私人时间很少,还有就是代码都不能公开,于是少了很多写的动力。 但是看书还是不能停,这是我的豆瓣地址点击打开链接,我读过的书都会在上面记录一下。 今年的看过的书单是: 正则表达式必知必会(修订版) 高效程序员的45个...

2016-12-31 15:01:44

阅读数 458

评论数 1

转载 深入浅出Android App耗电量统计

前言     在Android统计App耗电量比较麻烦,直至Android 4.4,它仍没公开“电量统计”API或文档……额,是的,仅没有公开,并不是没有。平时在手机“设置- 电量”看到的数据          就是系统调用内部API的统计结果。   基础概念 ...

2015-10-13 20:39:15

阅读数 418

评论数 0

转载 Android性能优化之电量篇

Google近期在Udacity上发布了Android性能优化的在线课程,分别从渲染,运算与内存,电量几个方面介绍了如何去优化性能,这些课程是Google之前在Youtube上发布的Android性能优化典范专题课程的细化与补充。 下面是电量篇章的学习笔记,部分内容与前面的性能优化典范有重合,欢...

2015-10-13 18:40:23

阅读数 549

评论数 0

原创 ThreadPoolExecutor的部分源码分析

从execute开始看起 /** * Executes the given task sometime in the future. The task * may execute in a new thread or in an existing pooled thread....

2015-10-11 16:30:35

阅读数 481

评论数 0

转载 Android通过tcpdump抓包

1. 手机要有root权限 2. 下载tcpdump   http://www.strazzere.com/android/tcpdump 3. adb push c:\wherever_you_put\tcpdump /data/local/tcpdump 4. adb shell chm...

2015-09-25 10:10:01

阅读数 1311

评论数 0

转载 POP3、SMTP、IMAP和Exchange都是个什么玩意?

很多时候一直对POP3、SMTP、IMAP和Exchange等迷迷糊糊的。 下面就整理说明一下: 当前常用的电子邮件协议有SMTP、POP3、IMAP4,它们都隶属于TCP/IP协议簇,默认状态下,分别通过TCP端口25、110和143建立连接。下面分别对其进行简单介绍。 1、SMTP协...

2015-09-16 16:27:44

阅读数 4662

评论数 0

原创 安卓中处理http超时

http超时限制可以用一下两句: HttpConnectionParams.setConnectionTimeout(post.getParams(), CONNECTION_TIOMOUT); HttpConnectionParams.setSoTimeout(post.getParams...

2015-09-15 21:33:32

阅读数 934

评论数 0

转载 >/dev/null 2>&1 的含义

shell中可能经常能看到:>/dev/null 2>&1  命令的结果可以通过%>的形式来定义输出 /dev/null 代表空设备文件 > 代表重定向到哪里,例如:echo "123" > /home/123.txt 1 ...

2015-09-08 10:50:53

阅读数 255

评论数 0

转载 mysql group by 用法解析(详细)

group by 用法解析 group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。 SELECT子句中的列名必须为分组列或列函数。列函数对于GROUP BY子句定义的每个组各返回一个结果。 某个员工信息表结构和数据如下:   id  name  dept ...

2015-09-06 09:48:41

阅读数 1275

评论数 0

原创 top命令中的几个参数含义

n: %MEM  --  Memory usage (RES)           A task's currently used share of available physical memory.        o: VIRT  --  Virtual Image (k...

2015-09-05 21:21:40

阅读数 412

评论数 0

原创 SQLiteCursor和ContentProvider的线程安全问题

1、SQLiteCursor is not internally sychronize so code using a SQLiteCursor from multiple threads should perfor its own synchronization when using the S...

2015-08-12 14:32:29

阅读数 1232

评论数 0

转载 Handler vs Timer : fixed-period execution and fixed-rate execution android development

From:http://androidtrainningcenter.blogspot.com/2013/12/handler-vs-timer-fixed-period-execution.html In Android Timer and Handler are both can b...

2015-07-31 15:45:24

阅读数 574

评论数 0

原创 从Monkey源码里学习几个adb shell命令和monekey日志的查阅方法

昨天看了Monkey的代码,里边有几个adb shell的命令,记录一下。   1、procrank 2、cat /data/anr/traces.txt 抓取anr日志   3、dumpsys meminfo 查看内存详情

2015-07-31 09:29:42

阅读数 2443

评论数 0

转载 妙用view的keepScreenOn属性保持屏幕常亮

小猪Android开发交流群:小猪Android开发交流群群号:421858269 新Android UI实例大全目录:http://blog.csdn.net/coder_pig/article/details/42145907 1)本节引言: 其实在实习笔记那里已经说过一遍了...

2015-07-21 09:32:36

阅读数 659

评论数 0

转载 Apache的prefork模式和worker模式

 转自:http://www.ccvita.com/339.html prefork模式 这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的工作方式类似于Apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。它是要求将每个请求相互独立的情况下...

2015-07-19 15:26:17

阅读数 278

评论数 0

转载 Activity学习

AtivityThread 可以看到该类有一个main方法,其实它是android一个应用程序的入口,每启动一个应用进程,都会创建ActivityThread与之对应的实例,是应用程序的UI线程,Android进程启动时会建立消息循环。负责管理应用程序的生命周期,执行系统广播及其Acti...

2015-07-02 21:19:16

阅读数 366

评论数 0

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

 转载:http://blog.csdn.net/zhaokaiqiang1992/article/details/43731967 本篇文章主要纪录我在学习过程中,发现的非常给力的CSDNBlog和个人Blog,这些Blog都有一个共同的特点,即内容详实,讲解透彻,也算是给后来的初学者指...

2015-05-31 15:57:21

阅读数 591

评论数 0

转载 AndroidAnnotations一个可以让你的android代码更加简洁的框架

简介 AndroidAnnotations是一个利用注解方式来简化代码结构,提高开发效率的开源框架。另外,针对REST的使用,框架提供了类似Spring IOC的机制,非常方便。 以下是一个块简单的代码片段: @EActivity(R.layout.translate) // S...

2015-05-20 13:13:17

阅读数 497

评论数 0

原创 android5.0的Material Design

关于android5.0有很多新的设计和控件需要我们重新学习,RecyclerView、ToolBar等等,我在这里总结一下,后面会持续更新。 一、Button 最基础的控件,也有些开源项目帮助我们实现。 开源项目: https://github.com/makovkastar/F...

2015-05-15 16:58:58

阅读数 392

评论数 0

转载 “Material Design”的九大设计原则

 谷歌发布新操作系统“ L Developer Preview”后,也同步推出了可视化语言Material Design,它的设计美学将会融入到谷歌所有的平台之中,包括Chrome OS和网页,它也将形成一个统一的外观,将所有的产品捆绑在一起。扁平化的设计,加上明亮的色彩,Mater...

2015-05-14 23:37:19

阅读数 799

评论数 0

转载 android library工程项目之间的相互引用出现的问题

转自:http://eyeandroid.diandian.com/post/2013-04-11/40049090256 当project主动引用另外一个android project的时候,出现了一个问题,在当前的project中报了library中的一些错误 : E:\d...

2015-05-13 16:33:41

阅读数 906

评论数 0

转载 Perl 中的正则表达式

原文出自:  http://263.aka.org.cn/Lectures/002/Lecture-2.1.2/perl-reg.html  感谢AKA及作者。  9    Perl 中的正则表达式 正则表达式的三种形式  正则表达式中的常用模式  正则表达式的 8...

2015-05-08 09:16:31

阅读数 355

评论数 0

转载 android关于onDraw的总结

原文出处:http://blog.sina.com.cn/s/blog_55afbecd0100vqba.html Android的view组件显示主要经过mesure, layout和draw这三个过程。在mesure阶段里调用mesure(int widthSpec, int heigh...

2015-05-04 15:34:05

阅读数 1874

评论数 0

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