摘要:通过阅读本文,你会对热修复技术有更深的认知,本文会列出各类框架的优缺点以及技术原理,文章末尾简单描述一下Tinker的框架结构。本文框架: 1. 什么是热修复? 2. 热修复框架分类 3. 技术原理及特点 4. Tinker框架解析 5. 各框架对比图。 阅读全文
posted @ 2018-03-11 13:43 popfisher 阅读 (16367) 评论 (3) 编辑
摘要:一种通过自动获取用户权限增强产品体验的方法 本文是基于辅助功能+悬浮窗+SurfaceView来实现自动获取用户权限的具体方案设计与实现。辅助功能抢红包插件相信大家并不陌生,但是微信官方不允许,但是在工具软件领域还是可以大显身手,特别是开权限。辅助功能的作用就是实现节点查找和模拟点击,而悬浮窗实现需 阅读全文
posted @ 2017-07-26 22:05 popfisher 阅读 (758) 评论 (0) 编辑
摘要:使用Drawable有什么好处? 很方便得到一个矩形,圆,椭圆,圆环,很容易维护和修改;很方便实现圆角,渐变(线性渐变,径向渐变,扫描渐变);代替图片作为 View 的背景,减少 apk 的体积(减少 apk 体积最明显最有效的步骤就是去掉图片);大图片耗内存,使用 Drawable 节省内存,Android 本身对 Drawable 做了很好的优化(内存优化需要考虑) 阅读全文
posted @ 2016-12-30 19:43 popfisher 阅读 (39140) 评论 (0) 编辑
摘要:封装一个独立弹窗Module,这里的弹窗包括普通的Dialog方式弹框和WindowManager方式弹窗。提供一种管理项目里面弹窗的方案,便于后期修改和维护。 首先描述一个在大项目中普遍存在的一个现象:由于项目的功能多,负责功能的人不同,当功能中需要一个普通的确定取消对话框时,大部分人都选择自己写 阅读全文
posted @ 2016-11-03 22:56 popfisher 阅读 (4207) 评论 (11) 编辑
摘要:xxx公司面试总结 面试形势 1. 群聊(2个面试官+HR+自己) 面试流程 1. 自我介绍 2. 面试官根据你的介绍开始问 3. 你对我们公司有什么想了解的么(复活卡,要时回到没有了也就没有了,可以让面试官给自己提一下建议) 面试题回忆,没有先后顺序 1. 项目架构, 组件化架构 (他反而没问插件 阅读全文
posted @ 2019-03-19 16:30 popfisher 阅读 (547) 评论 (0) 编辑
摘要:通过阅读本文,你会对热修复技术有更深的认知,本文会列出各类框架的优缺点以及技术原理,文章末尾简单描述一下Tinker的框架结构。本文框架: 1. 什么是热修复? 2. 热修复框架分类 3. 技术原理及特点 4. Tinker框架解析 5. 各框架对比图。 阅读全文
posted @ 2018-03-11 13:43 popfisher 阅读 (16367) 评论 (3) 编辑
摘要:重新整理了一篇更详细的,请移步 "Android热修复技术原理" Android平台出现了一些优秀的热更新方案,主要可以分为4类: 基于Instant Run 热插拔方案:美团的Robust(实时修复)   Robust插件对每个产品代码的每个函数都在编译打包阶段自动的插入了一段 阅读全文
posted @ 2018-01-19 18:06 popfisher 阅读 (1286) 评论 (0) 编辑
摘要:   接到一个博友的反馈,在屏幕旋转时调用 PopupWindow 的 update 方法失效。使用场景如下:在一个 Activity 中监听屏幕旋转事件,在Activity主布局文件中有个按钮点击弹出一个 PopupWindow,另外在主布局文件中有个 ListView。测试结 阅读全文
posted @ 2017-12-12 20:30 popfisher 阅读 (1900) 评论 (0) 编辑
摘要:快速搭建一个本地的FTP服务器   如果需要开发FTP文件上传下载功能,那么需要在本机上搭建一个本地FTP服务器,方便调试。 第一步:配置IIS Web服务器 1.1 控制面板中找到“程序”并打开 1.2 程序界面找到“启用或关闭Windows功能”并打开 1.3 上面两步也可以 阅读全文
posted @ 2017-12-06 12:09 popfisher 阅读 (179504) 评论 (11) 编辑
摘要:App启动卡慢会影响一个App的卸载率和使用率。启动速度快会给人一种轻快的感觉,减少用户等待时间。如果一个App从点击桌面图标到看到主界面花了10秒,请问你能接受么?忍耐不好的估计直接就卸载了,或者没等打开就直接Home键按出去,然后杀进程了。这样一来App卸载率提升了,使用率下降了。所以对于有大量用户的App来说,这些性能细节是很重要的,毕竟用户就是钱啊 阅读全文
posted @ 2017-10-24 20:19 popfisher 阅读 (3288) 评论 (0) 编辑
摘要:辅助功能(AccessibilityService)其实是一个Android系统提供给的一种服务,本身是继承Service类的。这个服务提供了增强的用户界面,旨在帮助残障人士或者可能暂时无法与设备充分交互的人们。从开发者的角度看,其实就是提供两种功能:查找界面元素,实现模拟点击。实现一个辅助功能服务要求继承AccessibilityService类并实现它的抽象方法。自定义一个服务类AccessibilitySampleService(这个命名可以随意),继承系统的AccessibilityService并覆写onAccessibilityEvent和onInterrupt方法。编写好服务类之后,在系统配置文件(AndroidManifest.xml)中注册服务。完成前面两个步骤就完成了基本发辅助功能服务注册与配置,具体的功能实现需要在onAccessibilityEvent中完成,根据onAccessibilityEvent回调方法传递过来的AccessibilityEvent对象可以对事件进行过滤,结合AccessibilitySampleService本身提供的查找节点与模拟点击 阅读全文
posted @ 2017-08-30 22:46 popfisher 阅读 (32465) 评论 (0) 编辑
摘要:Android高效内存之让你的图片省内存 在做内存优化的时候,我们发现除了解决内存泄露问题,剩下的就只有想办法减少真实的内存占用。而在App中,大部分内存可能被我们图片占用了,所以减少图片的内存占用可以带来直接的效果。 一、一张图片到底占用多少内存 我们先假设我们有一张图片是600 * 800像素的 阅读全文
posted @ 2017-07-28 12:20 popfisher 阅读 (2882) 评论 (5) 编辑
摘要:一种通过自动获取用户权限增强产品体验的方法 本文是基于辅助功能+悬浮窗+SurfaceView来实现自动获取用户权限的具体方案设计与实现。辅助功能抢红包插件相信大家并不陌生,但是微信官方不允许,但是在工具软件领域还是可以大显身手,特别是开权限。辅助功能的作用就是实现节点查找和模拟点击,而悬浮窗实现需 阅读全文
posted @ 2017-07-26 22:05 popfisher 阅读 (758) 评论 (0) 编辑
摘要:在做内存优化的时候,我们发现除了解决内存泄露问题,剩下的就只有想办法减少真实的内存占用。而在App中,大部分内存可能被我们图片占用了,所以减少图片的内存占用可以带来直接的效果。本文就简单介绍一张图片到底占用多少内存,我们先假设我们有一张图片时 600 * 800 的,图片占用空间大小假设是 100K 阅读全文
posted @ 2017-06-07 21:16 popfisher 阅读 (10148) 评论 (5) 编辑