首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【Android 插件】Hook 插件框架 ( Hook 技术 | 代理模式 | 静态代理 | 动态代理 )

Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...】插件原理 ( 类加载器 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 原理与实现思路 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 )...【Android 插件】“ 插桩式 “ 插件框架 ( 注入上下文的使用 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources...资源 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 运行应用 | 代码整理 ) 【Android 插件】Hook 插件框架 ( Hook 技术 | 代理模式 | 静态代理 | 动态代理...) ---- 文章目录 Android 插件系列文章目录 前言 一、Hook 技术简介 二、代理机制 1、静态代理示例 2、动态代理示例 三、博客资源 ---- 前言 在之前的系列博客中 , 介绍了

37530

three.js图片马赛克

这篇郭先生来说说BufferGeometry,类型数组和粒子系统的使用,并且让图片有马赛克效果(同理可以让不清晰的图片清晰),如图所示。在线案例点击图片马赛克。 image.png 1....解析图片 解析图片和上一篇一样 initCanvas() { canvas = document.createElement('canvas'); content = canvas.getContext...loaded = true; }, 可以不用纠结代码,核心思想其实我们只需要每隔一定的颜色点取出一个颜色点,然后将这个颜色赋予到geometry的color属性上,就可以了,也可以每隔两行、两列取一个点,但是图片上面的点是一维的...将不清晰的图片清晰,就是需要插入更多的像素点,插入的像素点,需要根据已存在的像素点的颜色进行插值,比如原图的像素点1为0xffffff,像素点2的颜色为0xdddddd,则插在两个像素点之间像素点的颜色为

2.6K10

携程Android App插件动态加载实践

携程Android App的插件动态加载框架已上线半年,经历了初期的探索和持续的打磨优化,新框架和工程配置经受住了生产实践的考验。...插件动态加载带来的额外好处就是客户端的热部署能力。...从以上几点根本性需求可以看出,插件动态加载架构方案会为我们带来多么巨大的收益,除此之外还有诸多好处: 编译速度提升 工程被拆分为十来个子工程之后,Android Studio编译流程繁冗的缺点被迅速放大...言归正传,开始插件动态加载架构探索之旅。 原理 关于插件思想,软件业已经有足够多的用户教育。无论是日常使用的浏览器,还是陪伴程序员无数日夜的Eclipse,甚至连QQ背后,都有插件技术的支持。...有了以上背景知识,我们就可以思考并设计插件动态加载框架的基本原理和主要流程了。 实现 实现分为两类:1.针对插件子工程做的编译流程改造,2.

1.1K70

【Android 插件】Hook 插件框架 ( Hook Activity 启动流程 | AMS 启动前使用动态代理替换掉插件 Activity 类 )

Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...】插件原理 ( 类加载器 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 原理与实现思路 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 )...【Android 插件】“ 插桩式 “ 插件框架 ( 注入上下文的使用 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources...资源 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 运行应用 | 代码整理 ) 【Android 插件】Hook 插件框架 ( Hook 技术 | 代理模式 | 静态代理 | 动态代理...IActivityManager 对象 ) 【Android 插件】Hook 插件框架 ( Hook Activity 启动流程 | AMS 启动前使用动态代理替换掉插件 Activity 类

56330

基于JS的高性能Flutter动态框架MXFlutter

看Google团队对动态的计划,短期内应该不会上线,所以自己动手,启动了这个技术探索项目。...基于JS的高性能Flutter动态框架 可能是目前放出来的相对最完整的Flutter动态方案 简介 项目代号:MXFlutter (Matrix Flutter) 核心思路是把 Flutter 的渲染逻辑中的三棵树中的第一棵...0x00 分享下动态探索过程中的几个炮灰方案 Flutter 动态方案一:静态解析Dart语言,生成UI描述 Dart 本身是描述语言,IDE 的 Outline 工具可以解析 Dart 代码生成树形结构...Flutter 动态方案二:动态运行 Dart 语言,生产UI描述 和方案一静态解析Dart对比,第二个方案是写一个极其轻量的运行时库,让编写UI的Dart 代码运行了起来,生成树形结构,再序列化为...开发时,IDE最好选用 VSCode,因为可以按装JS插件,直接运行调试JS 另外,我们通过重定向模拟器 JS 路径文件到开发机,用户修改完 JS 文件,便可直接看到相应修改,实现模拟器的页面热更新。

3.2K20

Android插件原理解析——Hook机制之动态代理

使用代理机制进行API Hook进而达到方法增强是框架的常用手段,比如J2EE框架Spring通过动态代理优雅地实现了AOP编程,极大地提升了Web开发效率;同样,插件框架也广泛使用了代理机制来增强系统...API从而达到插件的目的。...另外,插件框架原理解析系列文章见索引。 代理是什么 为什么需要代理呢?...为了更优雅地实现代理模式,JDK提供了动态代理方式,可以简单理解为JVM可以在运行时帮我们动态生成一系列的代理类,这样我们就不需要手写每一个静态的代理类了。...选择合适的代理方式,如果是接口可以用动态代理;如果是类可以手动写代理也可以使用cglib。

93020

携程Android App的插件动态加载框架

携程Android App的插件动态加载框架已上线半年,经历了初期的探索和持续的打磨优化,新框架和工程配置经受住了生产实践的考验。...插件动态加载带来的额外好处就是客户端的热部署能力。...从以上几点根本性需求可以看出,插件动态加载架构方案会为我们带来多么巨大的收益,除此之外还有诸多好处: 编译速度提升 工程被拆分为十来个子工程之后,Android Studio编译流程繁冗的缺点被迅速放大...言归正传,开始插件动态加载架构探索之旅。 原理 关于插件思想,软件业已经有足够多的用户教育。...有了以上背景知识,我们就可以思考并设计插件动态加载框架的基本原理和主要流程了。 实现 实现分为两类:1.针对插件子工程做的编译流程改造,2.

913100

缓冲加载图片的 jQuery 插件 lazyload.js 使用方法详解

Lazy Load 这个 jQuery 插件,是用来缓冲加载图片插件。如果一篇文章很长有很多图片的话,下载图片就需要很多时间。...而这款插件,会检测你的滚动情况,只有你要看到那个图片的时候,它才会从后台请求下载图片,然后显示出来。使用这个插件,可以在需要显示图片的时候,才下载图片,所以可以减少服务器的压力,避免不必要的资源下载。...如果一个人不看下面的图片,那加载下面的图片就是一种浪费。 Lazy Load 插件原理 修改目标 img 的 src 属性为 orginal 属性,从而中断图片的加载。...潜行者m博客上,就用了这个插件,不过没用使用官方说的那种结构,要的只是一个缓冲加载的效果。 开始使用 lazyload.js 第一步:加载相关文件。 很明显,你要加载jquery和这个插件。...你可以使用以下代码,加载这几个文件: <script src="jquery.lazyload.<em>js</em>

2.8K10

前端黑魔法:webworker动态,无需JS文件创建worker

通过JS文件和路径创建webworker带来的问题 Webworker,我其实一直觉得用法比较生硬,因为似乎需要创建额外的JS文件才能运行,就像下面这样 var worker =new Worker('...work.js’) 这意味着,你需要额外创建一个js文件。...因为JS操纵文件的能力很差,如果想要创建文件,当然方法也有,参考:https://github.com/eligrey/FileSaver.js/ 但是问题在于,如果想要创建文件,JS的文件创建往往离不开下载...我原本只是想“悄无声息”地创建一个文件,但结果JS在创建的时候突然弹出一个下载框,这可让人受不了。啊,难受。(此处应有[我太难了]表情包)。...第一,function.toString得到的并不是一个没有意义的字符串,它是完全可以被用来运行的 第二,通过这种方式,webworker不需要借助额外的JS文件了,webworker完全动态和自由

3.4K10

小白也能看懂的插件DroidPlugin原理(一)-- 动态代理

前言:插件在Android开发中的优点不言而喻,也有很多文章介绍插件的优势,所以在此不再赘述。...二、动态代理   动态代理是本文的重点,也是 DroidPlugin 插件框架的基础。...其实插件的原理简单来说是使用动态代理,通过反射等机制将系统中的一些方法hook掉,从而达到劫持系统方法的目的以实现对系统方法的篡改。...非常感谢术哥的《Android插件原理解析——概要》系列文章,本人正是在参考了这些内容的思路之后才有能力写下本系列文章。...本人在Android的插件领域可以说算是一个小白,写下本系列文章的目的一方面是在实践中加深自己的理解,另一方面是根据本人以小白角度对插件原理的体会用更加简单易懂的方式传达出来,从而帮助小白也能读懂插件

81860
领券