动态代理基本原理 发表于 2019-07-02 | 分类于 Java | 字数统计: 782 | 阅读时长 ≈ 4代理为对象提供一个代理类,通过代理类调用对象的方法动态代理运行时生成代理。动态代理的实现自定义一个业务接口123public interface IRepository { void request();}实现InvocationHandler接口,并可以在method方法 ...阅读全文 »
LeakCanary源码分析 发表于 2019-06-21 | 分类于 Android | 字数统计: 1,593 | 阅读时长 ≈ 7LeakCanary是Android中用于排查Activity、Fragment内存泄漏的工具。本文基于LeakCanary 1.6.1源码分析。12345LeakCanary.install(this);public static RefWatcher install(Application ap ...阅读全文 »
OkHttp主流程分析 发表于 2019-04-07 | 分类于 Android | 字数统计: 4,886 | 阅读时长 ≈ 24OkHttp介绍https://github.com/square/okhttpAn HTTP & HTTP/2 client for Android and Java applications.OkHttp是支持HTTP、HTTP2的网络请求库。这里解析的是OkHttp 3.11.0版本的 ...阅读全文 »
登录密码正则表达式 发表于 2019-02-14 | 分类于 正则表达式 | 字数统计: 910 | 阅读时长 ≈ 3最近收到产品需求,需要对原邮件密码规则进行修改。先由客户端修改密码规则,服务端后续才进行更新。具体需求如下:1234561.新密码必须包含大写字母、小写字母、数字、特殊字符任意3种组合2.长度至少为8位3.不能包含自身账号4.不包含3位以上相同字符5.不能是最近5次使用密码6.特殊字符仅限.~!@$ ...阅读全文 »
SMTP协议 发表于 2019-01-14 | 分类于 邮件 | 字数统计: 423 | 阅读时长 ≈ 2参考RFC5321SMTP协议是工作在两种情况下:电子邮件从客户机传输到服务器(发信);从某一个服务器传输到另一个(转发)。SMTP工作流程:SMTP客户端和SMTP服务器建立TCP连接,客户端发起连接请求。连接建立后,服务器向客户发送响应报文,其应答码为220,表示服务准备就绪。客户端收到响应报文 ...阅读全文 »
eml文件格式 发表于 2019-01-11 | 分类于 邮件 | 字数统计: 792 | 阅读时长 ≈ 4EML文件格式参考rfc2045至2049MIME邮件由邮件头和邮件体两部分组成。邮件头包括:标题,送信人,收信人,创建日期,邮件体内容类型和邮件体编码方式等内容。邮件体包括:正文,超文本,内嵌数据和附件等内容。域域的基本格式是 {域名}:{内容}。Content-Type域Content-Type ...阅读全文 »
IMAP协议操作示例 发表于 2019-01-06 | 分类于 邮件 | 字数统计: 168 | 阅读时长 ≈ 1参考rfc3501IMAP端口HTTP:telnet143用户登录a login@列出邮箱a list “” “”选择文件夹a select INBOX查询所有新邮件a search NEW获取邮件a fetch参数sequence set::读取的邮件序列集,例如n : n + x参数messag ...阅读全文 »
View绘制流程分析 发表于 2018-11-14 | 分类于 Android | 字数统计: 4,022 | 阅读时长 ≈ 20View绘制也是Android里重要知识点,明晰此流程方便我们了解Android的布局设置和自定义View。View结构Activity里包含了一个Window实现类PhoneWindow,而该类内部包含了一个DecorView对象,该DectorView对象是所有应用窗口(Activity界面)的 ...阅读全文 »
Android触摸事件机制 发表于 2018-11-07 | 分类于 Android | 字数统计: 2,845 | 阅读时长 ≈ 12触摸事件机制是Android触摸屏触控操作的关键。触摸事件分发分为服务端和应用端。在Server端由WindowManagerService(WMS,窗口管理服务)负责管理。在Client端则是由ViewRootImpl(负责控制View树的UI绘制和事件消息的分发)负责分发的。Touch事件从WM ...阅读全文 »