android电量排行获取:
http://www.eoeandroid.com/thread-255696-1-1.html
原理:
settings中获取手机电量排行的原理主要是通过读取电池记录文件来实现的。主要用到了android.os.BatteryStats这个隐藏类和com.android.internal这特殊的个包。
在读取电池记录文件时,有的手机读取出来的内容是空的,有的甚至获取不到BatteryStats
另一个方法:
读取CPU时间是通过解析/proc/pid/stat这个文件:(不过不太准)
ret文件内容,
String[] s = ret.split(" ");
if (s == null || s.length < 17) {
return 0;
}
final long utime = string2Long(s[13]);
final long stime = string2Long(s[14]);
final long cutime = string2Long(s[15]);
final long cstime = string2Long(s[16]);
return utime + stime + cutime + cstime;
if (s == null || s.length < 17) {
return 0;
}
final long utime = string2Long(s[13]);
final long stime = string2Long(s[14]);
final long cutime = string2Long(s[15]);
final long cstime = string2Long(s[16]);
return utime + stime + cutime + cstime;
android常用组件:
http://www.eoeandroid.com/thread-562234-1-1.html
OkHttp:
实现了Google开发的SPDY协议,更快的网络传输和加载速度
OKhttp:
设计
设计SPDY的目的在于降低网页的加载时间[6]。通过优先级和多路复用,SPDY使得只需要建立一个TCP连接即可传送网页内容及图片等资源[1][7]。SPDY中广泛应用了TLS加密,传输内容也均以gzip或DEFLATE格式压缩(与HTTP不同,HTTP的头部并不会被压缩)。另外,除了像HTTP的网页服务器被动的等待浏览器发起请求外,SPDY的网页服务器还可以主动推送内容[8]。
与HTTP的关系
SPDY并不用于取代HTTP,它只是修改了HTTP的请求与应答在网络上传输的方式[1];这意味着只需增加一个SPDY传输层,现有的所有服务端应用均不用做任何修改。 当使用SPDY的方式传输,HTTP请求会被处理、标记简化和压缩。比如,每一个SPDY端点会持续跟踪每一个在之前的请求中已经发送的HTTP报文头部,从而避免重复发送还未改变的头部。而还未发送的报文的数据部分将在被压缩后被发送。
设计SPDY的目的在于降低网页的加载时间[6]。通过优先级和多路复用,SPDY使得只需要建立一个TCP连接即可传送网页内容及图片等资源[1][7]。SPDY中广泛应用了TLS加密,传输内容也均以gzip或DEFLATE格式压缩(与HTTP不同,HTTP的头部并不会被压缩)。另外,除了像HTTP的网页服务器被动的等待浏览器发起请求外,SPDY的网页服务器还可以主动推送内容[8]。
与HTTP的关系
SPDY并不用于取代HTTP,它只是修改了HTTP的请求与应答在网络上传输的方式[1];这意味着只需增加一个SPDY传输层,现有的所有服务端应用均不用做任何修改。 当使用SPDY的方式传输,HTTP请求会被处理、标记简化和压缩。比如,每一个SPDY端点会持续跟踪每一个在之前的请求中已经发送的HTTP报文头部,从而避免重复发送还未改变的头部。而还未发送的报文的数据部分将在被压缩后被发送。
重写editview的addTextChangedListener的BUG
这个方法是add得,edittext建立后,系统自动add一个listener进去,如果重写了这个方法,会让他变回TextView无法点击(因为他的父类是EditText,哈哈)
所以不要重写它。