摘要:
HTTP--Hyper Text Transfer Protocol,超文本传输协议,是一种建立在TCP上的无状态连接。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器处理请求然后响应,响应的内容包括协议的版本、状 阅读全文
摘要:
1.卡顿优化 a. 避免ANR b. 布局层级/过度绘制 工具:Lint 、 Hierarchy View、Layout Inspector、Debug GPU overDraw 2.内存优化 a. 避免内存泄漏 b.避免OOM 工具:StrickMode、LeakCanary、MAT 3.耗电优化 阅读全文
摘要:
Retrofit原理解析最简洁的思路 Retrofit 工作原理总结 从架构角度看Retrofit的作用、原理和启示 Retrofit主要是在create方法中采用动态代理模式实现接口方法;这个过程构建了一个ServiceMethod对象,根据方法注解获取请求方式、参数类型、参数注解,然后拼接网络请 阅读全文
摘要:
参考:Java 动态代理 代理是什么 为什么需要代理呢?其实这个代理与日常生活中的“代理”,“中介”差不多;比如你想海淘买东西,总不可能亲自飞到国外去购物吧,这时候我们使用第三方海淘服务比如惠惠购物助手等;同样拿购物为例,有时候第三方购物会有折扣比如当初的米折网,这时候我们可以少花点钱;当然有时候这 阅读全文
摘要:
1.wait()与sleep() wait()方法会释放占有的对象锁,当前线程进入等待池,释放cpu, 而其他正在等待的线程即可抢占此锁,获得锁的线程即可运行程序; sleep()方法则表示,当前线程会休眠一段时间,休眠期间,会暂时释放cpu,但并不释放对象锁,也就是说,在休眠期间,其他线程依然无法 阅读全文
摘要:
参考:https://www.jianshu.com/p/bf92927c9d22 1、适配器模式:ListView或GridView的Adapter 简介:不同的数据提供者使用一个适配器来向一个相同的客户提供服务。 2、建造者模式:AlertDialog.Builder 简介:可以分步地构造每一部 阅读全文
摘要:
WebViewClient帮助WebView处理各种通知和请求事件的,我们可以称他为WebView的“内政大臣”。常用的shouldOverrideUrlLoading就是该类的一个方法,比如: WebChromeClient主要辅助WebView处理Javascript的对话框、网站图标、网站标题 阅读全文
摘要:
一、Android性能优化的方面 针对Android的性能优化,主要有以下几个有效的优化方法: 1.布局优化 2.绘制优化 3.内存泄漏优化 4.响应速度优化 5.ListView/RecycleView及Bitmap优化 6.线程优化 7.其他性能优化的建议 下面我们具体来介绍关于以上这几个方面优 阅读全文
摘要:
主要问题其实只有两个,其一:如何判断当前发送事件的线程是否是主线程;其二:如何在接收事件时指定线程并执行; 一个一个来看。 1.如何判断是否在主线程发送 EventBus在初始化的时候会初始化一个MainThreadSupport对象,它会去获取主线程的Looper对象并存起来。(当前最新版本如果不 阅读全文
摘要:
WebView是Android平台下的一个重要组件,通常用来在Activity中嵌入一个简单的浏览器,实现在线网页浏览的功能。比如下面代码实现访问Google页面: WebView webView = new WebView (R.id.webView1); webView.getSettings( 阅读全文