EventBus与Otto特性与性能对比

       Otto和EventBus(消息总线EventBus简介)一样是一个事件总线库,实际上Otto是fork的Guava’s EventBus。Greenrobot’s EventBus和Otto都有一些相同的语义的操作(register,post,unregister,…),下面的表格中对EventBus和Otto的特性进行对比: eventbus_otto_feature_comparison        除了特性,还有性能的对比。结果显示EventBus在各个方面都明显比Otto更快。
继续阅读

Compile tcpdump for Android Lollipop

       今天发现一个问题,在Android5.0系统下用tcpdump抓包失败,但是在5.0之前的系统上可以正常抓包,报如下错误

       这是由于PIE安全机制所引起的,从Android4.1开始引入该机制,但是Android L之前的系统版本并不会去检验可执行文件是否基于PIE编译出的。因此不会报错。但是Android L已经开启验证,如果调用的可执行文件不是基于PIE方式编译的,则无法运行。解决办法非常简单,编译的时候加上如下的flag就行。

继续阅读

Jar打包混淆脚本

       我们知道Android apk在发布之前需要进行混淆。如果我们发布一个jar,但是并不希望别人轻松的看到我们的代码逻辑,这个时候就需要对jar包进行混淆了,下面是以前用ruby写的一个jar打包混淆工具,包含三个功能。 1.简单的对目录下的class文件打包。 2.对jar包进行混淆。 3.指定class文件不打入jar包。

Android HttpUrlConnection CNAME域名解析失败

         昨天同事遇到一个问题,在Android设备上用HttpUrlConnection下载文件的时候抛出了UnknownHostException异常,这个异常本身并不少见,相信很多开发者遇到过,一眼望过去so easy(我开始也是这么觉得),但是并非那么简单,因为电脑或手机浏览器都可以请求成功,并且同样的代码在电脑上运行没有问题

分析问题

         Firebug跟踪”http://fget.iviny.com:10010/c/91″这个链接的请求,发现链接会做一次302跳转,但我们的代码已经处理了url重定向,所以问题的根源不在这里。

redirect

redirect

继续阅读

WordPress博客图片如何防盗链

最近发现,博客总是被别的网站盗链,图片消耗了大量的网络流量,那么怎么防止盗链呢?很简单,为服务器加上hotlink protection(盗链保护)配置。

Nginx服务器防盗链配置

我自己采用的是nginx服务器,所以先讲nginx服务器的防盗链配置(hotlink protection),首先准备一张版权声明图片

hotlink_protection

hotlink_protection

继续阅读