小嵩的博客

小嵩的博客

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

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

2017-03-02 12:40:47

阅读数 14881

评论数 29

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

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

2017-02-27 15:27:41

阅读数 49963

评论数 34

Flutter 基础之 GestureDetector 手势 (交互模型篇)

声明:本篇文章已授权微信公众号 YYGeeker 独家发布。 博主原创文章,转载请注明出处:小嵩的博客 介绍 GestureDetector是Flutter的手势检测器,它会尝试识别与其非null的回调相对应的手势。如果此Widget组件具有子控件,那么它的大小调整行为将遵从该子控件件。如果...

2019-08-05 18:16:20

阅读数 59

评论数 0

Flutter 基础之 Theme 主题(样式篇)

声明:本篇文章已授权微信公众号 YYGeeker 独家发布。 博主原创文章,转载请注明出处:小嵩的博客 一、介绍 Theme 类将主题应用于子控件,Theme(主题)它描述了应用程序的颜色和排版选择。Theme有两种:全局Theme和局部Theme。全局Theme是由应用程序根Materia...

2019-08-05 18:12:43

阅读数 74

评论数 0

Android 崩溃优化之Java篇(二)

声明:本篇文章已授权微信公众号 YYGeeker 独家发布。 博主原创文章,转载请注明出处:小嵩的博客 一、前言 由于Android系统的碎片化、版本差异、厂商定制ROM等诸多原因,我们经常会遇到各种奇奇怪怪的崩溃,治理Android App的崩溃可谓是一个大老难题。对于一个大型应用来说,有...

2019-07-02 15:33:12

阅读数 52

评论数 0

Android 启动优化(一)

声明:本篇文章已授权微信公众号 YYGeeker 独家发布。 前言 对于一个APP来说,启动秒开,切换顺畅的体验能给用户留下良好的第一印象,启动速度对于用户体验及提高用户留存的重要性不言而喻。那么我们首先从它开始入手,从理论结合实际来谈谈有哪些优化启动速度及性能的技巧。 一、介绍 Goog...

2019-02-20 11:53:57

阅读数 197

评论数 0

Android 性能优化杂谈(开篇)

声明:本篇文章已授权微信公众号 YYGeeker 独家发布 导语 随着近年来移动互联网的逐渐成熟稳定,风口浪尖褪去,移动端从高速增量转变成存量阶段,厮杀惨烈。一方面,互联网企业的增长也逐渐放缓,岗位需求骤降,竞争变得越来越激烈;而另一方面,随着移动互联网的发展,越来越多同质化的产品出现。用户对...

2018-12-26 10:21:33

阅读数 83

评论数 0

阿里 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

阅读数 391

评论数 0

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

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

2018-08-30 17:11:14

阅读数 892

评论数 0

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

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

2018-08-29 18:27:23

阅读数 829

评论数 3

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

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

2018-08-27 11:57:35

阅读数 944

评论数 0

阿里 Dexposed 热修复原理

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

2018-08-18 20:38:45

阅读数 206

评论数 0

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

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

2018-08-18 20:13:57

阅读数 1004

评论数 0

Android 线程池ThreadPoolExecutor详解

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

2018-02-23 18:08:52

阅读数 3623

评论数 0

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

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

2017-11-07 21:01:41

阅读数 1303

评论数 1

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

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

2017-10-10 21:02:13

阅读数 1585

评论数 0

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

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

2017-09-20 21:33:34

阅读数 2155

评论数 6

Tinker原理深入理解(二)

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

2017-07-01 17:34:31

阅读数 3842

评论数 0

Kotlin 系列 - 基本介绍(一)

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

2017-07-01 15:27:33

阅读数 577

评论数 0

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

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

2017-06-23 11:39:21

阅读数 725

评论数 0

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