小嵩的博客

小嵩的博客

Android-PickerView系列之源码解析篇(二)

前言   WheelView想必大家或多或少都有一定了解, 它是一款3D滚轮控件,效果类似IOS 上面的UIpickerview 。按照国际惯例,先放一张效果图:   以上是Android-PickerView 的demo演示图,它有时间选择和选项选择,并支持一二三级联动,支持自定义样式。...

2017-03-02 12:40:47

阅读数:11653

评论数:25

Android-PickerView系列之介绍与使用篇(一)

声明:本文为博主原创文章,转载请注明出处:小嵩的博客 一、介绍 Android-PickerView是一款仿iOS的PickerView控件,并封装了时间选择和选项选择这两种选择器,详细特性如下: WheelView —— 基础控件 带有3D圆弧效果。 支持文字、颜色、大小设置...

2017-02-27 15:27:41

阅读数:40723

评论数:32

阿里 Andfix 介绍及原理解析

开源项目官方介绍: AndFix judges the methods should be replaced by java custom annotation and replaces it by hooking it. AndFix has a native method art_repla...

2018-09-21 21:14:20

阅读数:56

评论数:0

美团热修复 Robust 原理解析(二)

Robust属于 Java方案,它是基于Instant Run 实现的。我们知道InstantRun 对应三种更新机制: 冷插拔,我们称之为重启更新机制 温插拔,我们称之为重启Activity更新机制 热插拔,我们称之为热更新机制 如果不熟悉 InstantRun,可参考这篇文章: 《从...

2018-08-30 17:11:14

阅读数:248

评论数:0

美团热修复 Robust 方案接入(一)

方案介绍 Robust是美团点评技术团队提供的Android热修复解决方案,基于InstantRun方案实现,属于方法级修复。Robust的补丁成功率高达99%,总体而言它是一个比较稳定的热修复方案,对于追求补丁稳定可靠的项目,接入Roubust是一个不错的选择。接下来我们介绍一下如何去接入Ro...

2018-08-29 18:27:23

阅读数:254

评论数:0

Tinker 合并及加载补丁过程源码分析 (三)

前言 上篇文章我们讲了Tinker实现的主要原理,本篇文章主要对Tinker源码中补丁安装合并以及加载过程进行分析,本文分析基于Tinker 1.9.8 版本。主要内容有以下几点: 安装合并补丁包过程 加载补丁过程分析 加载补丁资源过程分析 加载补丁SO文件分析 ...

2018-08-27 11:57:35

阅读数:249

评论数:0

阿里 Dexposed 热修复原理

前言 Andfix 算是热修复方案中,native流派的典范了。在讲解Andfix之前,我们首先了解一下Dexposed,Andfix 是在Dexposed的基础上演进的。 Dexposed介绍 阿里手淘团队基于 Xposed 研发出来的 AOP 框架,方法级粒度,可以进行 AOP 编程、插...

2018-08-18 20:38:45

阅读数:68

评论数:0

Qzone 超级补丁热修复方案原理

介绍 Qzone 超级补丁技术基于dex分包方案,使用了多dex加载(multidex)的原理,大致的过程就是:把BUG方法修复以后,放到一个单独的dex文件,然后插入到dexElements数组的最前面,让虚拟机去加载修复完后的方法。 该方案的灵感来源? 没错就是类加载机制,相信大部分同学...

2018-08-18 20:13:57

阅读数:264

评论数:0

Android 线程池ThreadPoolExecutor详解

前言 多线程并发是我们在开发中经常遇到的问题,提及线程池,首先我们得了解线程的相关知识。关于线程的详情介绍本文就不提及了,有不太清楚的朋友可以自行查找相关资料,下面简要概述一下进程和线程的概念,为后续内容(线程池)做铺垫。 进程: 每个app运行时前首先创建一个进程,该进...

2018-02-23 18:08:52

阅读数:1443

评论数:0

ViewDragHelper (三)- 打造仿陌陌视频播放页(深入篇)

本篇为该系列的第三篇,将通过一个实际的业务需求来讲述ViewDragHelper的实际运用。目录ViewDragHelper 的介绍以及初步使用请阅读这篇: ViewDragHelper (一)- 介绍及简单用例(入门篇) ViewDragHelper 的源码以及Callback的详情介绍请阅...

2017-11-07 21:01:41

阅读数:1065

评论数:1

ViewDragHelper(二)- 源码及原理解读(进阶篇)

声明:本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 本篇为该系列的第二篇,侧重讲解ViewDragHelper 的实现原理和源码逻辑,以及它所提供的Callback。 目录 ViewDragHelper 的介绍以及初步使用请阅读这篇: ViewDragHelper...

2017-10-10 21:02:13

阅读数:1267

评论数:0

ViewDragHelper (一)- 介绍及简单用例(入门篇)

随着入Android这个坑的时间越来越长,愈加觉得深入掌握原理以及技术输出的重要性,会使用轮子和造一个好轮子还是有天壤之别的。授人以鱼不如授人以渔,将一些经验分享出来,希望能够让更多的人更加深入地理解它,并帮助到有需要的朋友。本系列分为三篇,会由浅至深地对DrageHelper 进行详细讲解。本篇...

2017-09-20 21:33:34

阅读数:1974

评论数:6

Tinker原理深入理解(二)

原理及介绍 现阶段,Android热补丁技术大致分为以下两个流派: Native:代表有阿里的Dexposed、AndFix与腾讯的内部方案KKFix; Java:代表有Qzone的超级补丁、大众点评的nuwa、美团的robust、百度金融的rocooFix, 饿了么的amigo...

2017-07-01 17:34:31

阅读数:2762

评论数:0

Kotlin 系列 - 基本介绍(一)

前言  开始接触Kotlin是在今年年初的时候,发现 Android 业内开源大神 Jake Wharton 在推荐使用它。当时想着,事情绝对没有那么简单。果然,Google IO 2017 上宣布了 Kotlin 会成为 Android First class开发语言。最近一两个月时间里 ,...

2017-07-01 15:27:33

阅读数:511

评论数:0

Dalvik与ART的介绍及区别(一)

Android Runtime(缩写为ART),在2013年作为Android 4.4系统中的一项测试功能正式对外发布,Android 5.0开始作为正式的运行时库取代了以往的Dalvik虚拟机。ART能够把应用程序的字节码转换为机器码,是Android所使用的一种新的虚拟机。而ART采用Ahea...

2017-06-23 11:39:21

阅读数:649

评论数:0

微信Tinker 热修复介绍及接入(一)

热修复(HotFix)是以补丁的方式动态修复紧急Bug,不再需要重新发布App,不需要用户重新下载覆盖安装的方式来实现代码的替换修改。这里就不多啰嗦了,可以自行搜索网上的介绍。目前主流HotFix方案对比...

2017-06-22 20:34:22

阅读数:1800

评论数:0

Android O (8.0) 新特性介绍

Android O 功能和 API(文章内容均来Google开发者官网,有需要可自行翻墙查看更多资料)Android O 为用户和开发者引入多种新功能。本文重点介绍面向开发者的新功能。请务必查阅 Android O 行为变更以了解平台变更可能影响您的应用的领域。通知在 Android O 中,我们...

2017-06-15 16:35:45

阅读数:11997

评论数:5

Android4.2系统辅助功能打开时,加载WebView导致空指针异常解决记录

最近负责APP错误统计分析,修复线上一些BUG,有一个这样的问题,日志如下:java.lang.NullPointerException at android.webkit.AccessibilityInjector$TextToSpeechWrapper$1.onInit(Accessi...

2017-06-01 10:37:20

阅读数:1251

评论数:0

仿美团炫酷动画效果的A-Z字母排序侧边库

EasySideBar一款按字母排序的库,已封装好城市数据,可定制化强,也可以下载源代码用Module的形式引入自己改一改来使用,也可稍做改造定制成通讯录。手指触摸选中的屏幕区域,A-Z字母会有偏移动画,防止手指遮挡住字母,很大程度上提升了交互和用户体验度。觉得还不错的话欢迎Star ~使用步骤:...

2017-04-26 09:44:27

阅读数:2551

评论数:2

Android实用的优惠券控件

前言最近需要做一个优惠券功能,于是找了找,发现网上大多数优惠券控件的都是直接利用Paint绘制一个白色的新图层然后叠加上去,但是这样处理的话,当背景不是纯白色的时候,就会暴露出如下图问题:对于有点强迫症的人来说,看着怎么都有点难受。好吧,俗话说自己动手丰衣足食,咱就自己动手弄个更加完善的出来。完整...

2017-04-25 10:01:16

阅读数:2098

评论数:0

提示
确定要删除当前文章?
取消 删除