4.19学习笔记:android电量排行、okhttp与SPYD协议、重写editview的addTextChangedListenerBUG


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;



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报文头部,从而避免重复发送还未改变的头部。而还未发送的报文的数据部分将在被压缩后被发送。


重写editview的addTextChangedListener的BUG
这个方法是add得,edittext建立后,系统自动add一个listener进去,如果重写了这个方法,会让他变回TextView无法点击(因为他的父类是EditText,哈哈)
所以不要重写它。

















你可能感兴趣的:(android,学习)