关闭

[置顶] Android平台Native代码的崩溃捕获机制及实现

原文:http://blog.httrack.com/blog/2013/08/23/catching-posix-signals-on-android/ 这篇文章主要讲述如何捕获jni crash,并打印出堆栈 捕获问题 第一步是要用信号处理函数捕获到native crash(SIGSEGV, SIGBUS等)。在posix系统,可以用sigaction(): struct sigact...
阅读(1726) 评论(27)

[置顶] ThreadPoolExecutor的部分源码分析

从execute开始看起 /** * Executes the given task sometime in the future. The task * may execute in a new thread or in an existing pooled thread. * * If the task cannot be submitted for...
阅读(369) 评论(0)

[置顶] 使用Fragment+ViewPager,仿微信实现多页Tab切换

我们今天实现类似微信的首页的滑动Tab效果:                郭霖有一篇博客  http://blog.csdn.net/guolin_blog/article/details/13171191,讲过如果实现,但是他的demo不同通过滑动切换,只能通过点击按钮切换。 通过viewpager,我们可以完全实现微信的效果。 先看看我的实现效果: pa...
阅读(1612) 评论(0)

[置顶] 如何保持service长期在后台运行

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

[置顶] Volley库源码分析(下)

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

[置顶] Volley库源码分析(上)

Volley使用了线程池来作为基础结构,主要分为主线程,cache线程和network线程。 主线程和cache线程都只有一个,而NetworkDispatcher线程可以有多个,这样能解决比并行问题。如下图: 其中左下角是NetworkDispatcher线程,大致步骤是: 1.不断从请求队列中取出请求 request = mQueue.take();2.发起网络...
阅读(1088) 评论(1)

[置顶] 优化ListView中的网络图片加载

1.使用适当的开源库,如Volley或者Universal ImageLoader 使用Volley时,可以覆写onScrollStateChanged(Activity或者Fragment中),如果处于AbsListView.OnScrollListener.SCROLL_STATE_FLING的状态,imageLoader.stopProcessingQueue(); imageLoade...
阅读(1623) 评论(0)

[置顶] ListView源代码分析

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

[置顶] Android中的设计模式

总结Android框架中出现的设计模式。...
阅读(1050) 评论(0)

Android 性能典范-线程

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

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

一、问题 这周遇到一个用户反馈,说邮箱的记事本列表一直空白,无法加载任何记事。于是查了日志,发现用户由于记事太多一直网络超时。 long sTime = SystemClock.elapsedRealtime(); responseCode = connection.getResponseCode();// 阻塞型 long elapse = SystemClock.elap...
阅读(57) 评论(0)

2017年-年中总结

很喜欢夏天的风的感觉,虽然热,但是很慵懒。又到了暑假,高考结束了,几多欢喜几多愁。 半年很快就过去,在年中的时候,总结一下上半年,对下半年也做些计划。 回顾一下之前的计划,主要包括博客和开源,上半年是坚持写了几篇博客,还写了一篇高质量的Android 平台 Native 代码的崩溃捕获机制及实现,算是达到目标了。但是开源方面没有动过。 看书也比较少,上半年看了四本书: Effect...
阅读(28) 评论(0)

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

URL编码背景 在URI的最初设计时,希望能通过书面转录,比如写在餐巾纸上告诉另外一人,因此URI的构成字符必须是可写的ASCII字符。在这些可书写的字符里,由于一些字符在不同操作系统的编码有不同的解析,被包含在“不安全字符”之中,要格外注意。 (不安全字符) 在URI的构成字符中,最安全的方案是正确使用“保留字符” 和 “非保留字符”的并集  保留字符: 在URL中起...
阅读(102) 评论(0)

SQLite执行计划优化

本文档阐述了SQLite的执行计划和查询优化是如何工作的。 给定一个SQL语句,根据语句的复杂度和数据库schema,会有许多种甚至上千种实现该语句的方法。查询计划的作用就是,在这么多方法中选择一个IO和CPU耗费最少的实现方案。 1. WHERE子句分析 一个查询语句中的WHERE子句,其中由AND连接起来的子项会被拆开执行。如果WHERE子句是由OR操作符连接而成,那么整...
阅读(321) 评论(0)

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

翻译自:https://www.sqlite.org/queryplanner.html 综述 SQL的最好特性就是它是一种描述性的语言,不是一种过程语言。当你用SQL编程,你是告诉系统你想计算什么,而不是怎么去计算它。如何计算的任务由SQL数据库引擎中的执行计划(Query Planner)子系统完成。 对于任意一句SQL语句,都可能有上千种算法实现它。所有这些算法都可以得到正确结果,但是...
阅读(409) 评论(0)

写在2016年的最后一天

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

深入浅出Android App耗电量统计

前言     在Android统计App耗电量比较麻烦,直至Android 4.4,它仍没公开“电量统计”API或文档……额,是的,仅没有公开,并不是没有。平时在手机“设置- 电量”看到的数据          就是系统调用内部API的统计结果。   基础概念     1. 手机由众多“部件”组成,所谓“部件”是指:CPU,WIFI,GPS....所以,Andr...
阅读(311) 评论(0)

Android性能优化之电量篇

Google近期在Udacity上发布了Android性能优化的在线课程,分别从渲染,运算与内存,电量几个方面介绍了如何去优化性能,这些课程是Google之前在Youtube上发布的Android性能优化典范专题课程的细化与补充。 下面是电量篇章的学习笔记,部分内容与前面的性能优化典范有重合,欢迎大家一起学习交流! 1)Understanding Battery Drain 手机...
阅读(360) 评论(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 chmod 6755 /data/local/tcpdump 5, adb shell,...
阅读(504) 评论(0)

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

很多时候一直对POP3、SMTP、IMAP和Exchange等迷迷糊糊的。 下面就整理说明一下: 当前常用的电子邮件协议有SMTP、POP3、IMAP4,它们都隶属于TCP/IP协议簇,默认状态下,分别通过TCP端口25、110和143建立连接。下面分别对其进行简单介绍。 1、SMTP协议   SMTP的全称是“Simple Mail Transfer Protocol”,即简单邮件传...
阅读(1366) 评论(0)

安卓中处理http超时

http超时限制可以用一下两句: HttpConnectionParams.setConnectionTimeout(post.getParams(), CONNECTION_TIOMOUT); HttpConnectionParams.setSoTimeout(post.getParams(), CONNECTION_TIOMOUT);但是这只能限定连接超时和soket超时,对于dns查找...
阅读(451) 评论(0)

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

shell中可能经常能看到:>/dev/null 2>&1  命令的结果可以通过%>的形式来定义输出 /dev/null 代表空设备文件 > 代表重定向到哪里,例如:echo "123" > /home/123.txt 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null" 2 表示stderr标准错误 & 表示等同于的意思,...
阅读(186) 评论(0)
194条 共13页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:125989次
    • 积分:2179
    • 等级:
    • 排名:第17459名
    • 原创:71篇
    • 转载:122篇
    • 译文:1篇
    • 评论:33条
    最新评论