1、应用初始化Volley。
2、Volley创建一个RequestQueue、NetworkDispatcher组及Network。
3、RequestQueue即一个Request队列,RequestQueue会创建一个ExecutorDelivery。
4、NetworkDispatcher实质是Thread,从RequestQueue中取Request,通过Network加以执行。
5、Network负责网络请求处理,具体过程交给HttpStack处理。
6、HttpStack分HttpURLConnection(SDK_INT>=9)与HttpClient与两种方式。
7、ExecutorDelivery负责处理请求结果,并与主线程进行交互。
8、Volley在上述2-7的基础上增加了Cache等附加处理环节。
在一个项目中,我使用onSaveInstanceState和onRestoreInstanceState中对数据做了保存与恢复,但应用被91助手等清理后重新进入,还是偶有Activity报空指针错误的情况。查看LOG发现onCreate使用数据代码行,在onRestoreInstanceState数据恢复之前就已执行了。后来换成在onCreate中进行数据恢复,就没再出现这种情况了。
双重检查加锁单例,解决多线程访问和效率问题。
public class Singleton {
private volatile static Singleton instance=null;
private Singleton(){
}
public static Singleton getInstance(){
if(null == instance) {
synchronized(Singleton.class) {
if(null==instance) {
instance = new Singleton();
}
}
}
return instance;
}
}
1.Bootloader ROM,连接PC刷机,面向技术人员。
2.Recovery ROM,Recovery模式刷机,面向普通用户。
有别于Windows下的rubyinstall+devkit安装与配置。Debian/Linux下方便多了。
本文中使用Win7,Xp应该类似;Debian使用7.4。
之前在一台Win XP上开启Tomcat(80端口),选择花生壳“开启外网HTTP80端口”,映射完成后,通过域名是可以正常访问的。
基于Webservice api的Android有必要初期就为其设计好升级和公告功能: