
源码分析
设计失
人只有学习他人,和自己比才能更加强大!
展开
-
四大组件之 ———— Activity 工作流程
首先来看下这张图 从源码分析从startActivity 开始,到最后执行的是 startActivityForResult 方法,我们看下这个方法中具体操作:public void startActivityForResult(Intent intent, int requestCode, @Nullable Bundle options) { if (mP...原创 2018-04-20 10:53:56 · 1766 阅读 · 0 评论 -
Hook技术——拦截系统Intent
首先说下什么是 Hook (钩子函数):钩子函数其实一段程序,在系统的调用中挂载到系统,在没有调用该函数之前,钩子程序先捕获该消息,这样钩子函数先得到控制权,这样钩子函数就可以加工处理该函数的执行从而改变消息的传递。 Hook技术实现的过程:(java层)1) 找到Hook点① hook的过程是一个找方法的过程,我们要找到微信怎么登录的,就需要找到微信登录的方法。② ...原创 2018-04-20 16:59:16 · 4328 阅读 · 2 评论 -
Hook技术 —— 加载完整的APK
通过该demo,我们能了解到如下内容: 1、 融合不同的 apk dex 文件, 2、 了解到Element对象以及DexFile 对象 3、 插件中APK资源的合并 本文切入点 1、 融合Element数组 2、 获取资源文件一、 融合 Element 数组 首先了解一下什么是ClassLoader,以及java 中 Class...原创 2018-04-27 17:58:12 · 1371 阅读 · 0 评论 -
浅谈 设计模式之 —— 责任链模式 (OKHttp中的责任链模式)
一、 什么是责任链模式 责任链, 顾名思义是将多个节点通过链条的方式连接起来,每一个节点相当于一个对象,而每一个对象层层相关,直接或者间接引用下一个对象(节点);直到链条中有一个节点处理头节点传下来的事件截止。二、责任链模式使用场景 (以下摘自 Android源码设计模式) 有一事件,可以被多个对象同时处理,但是由哪个对象处理则在运行时动态决定! 在请求处理者不明确...原创 2018-08-09 16:46:22 · 1598 阅读 · 0 评论 -
Android面试题解析第一天 (• LRUCache 原理)
面试是一场与面试官交心的过程,会遇到一些成熟稳重的大牛、同样也会遇到一些设计挖苦你自以为是的人,这些都不重要,我们能够做到的只有好好掌握知识,一点点的积累。LRU( Least Recently Used ) 算法,经常会在面试中问到,虽然名字听起来高大上,但是算法其实很简单,最近最少使用的就将其排除在列表之外,以便将最近最常使用的节点放在列表最前面,在取数据的时候方便快捷的拿到数据,提高性...原创 2018-09-03 15:31:16 · 417 阅读 · 0 评论