自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 资源 (31)
  • 论坛 (7)
  • 问答 (3)
  • 收藏
  • 关注

原创 了解下,这几个字节码编程入门案例

了解下,这几个字节码编程入门案例在 AOP 利器 ASM 基础入门 博文中,介绍了 ASM 的基础知识和整体 API 结构,让我们对 ASM 有一个初步的认识。本篇博文将介绍三个案例来加深对 ASM 接口的理解。删除日志:删除项目中的所有 Log 输出添加日志:给项目添加 Log 日志输出添加 try...catch 异常捕捉:给项目的所有方法添加异常步骤文中的案例皆是以 Android 项目为基础,所以先介绍一些基本概念。1. 基本概念1.1 Transform APIAn

2020-12-15 22:34:22 18

原创 AOP 利器 ASM 基础入门

1. ASM 介绍ASM 是一个 Java 字节码操作框架,它能用来动态生成类或者增强既有类的功能。ASM 可以直接生成二进制 class 文件,也可以在类被加载到 Java 虚拟机之前动态改变类行为。ASM 框架中提供了常见的字节码分析和生成工具,可以快速进行类的生成或分析转换。在 Android 开发中, Android Gradle 1.5 版本后提供的 Transform 机制, 它允许第三方的 Plugin 插件在 .class 文件打包成 dex 之前进行动态修改,这就为动态修改字节码文件提

2020-12-13 14:19:01 66

翻译 Kotlin: 发布 Release 包前优化 Java 字节码

原文作者 : Kirill Rozov 原文链接 : Kotlin: cleaning Java bytecode before release 译者 : 邓士伟 校对者: 邓士伟 状态 : 完成Kotlin 中删除了大量需要我们手写或者由 IDE 、第三方框架生成的模板代码。最好的例子就是 Kotlin 是空安全的,由于这个特性,我们不需要写空判断语句 if(value != null...

2020-01-14 11:37:20 242

翻译 成为一名码农前,你应该知道的 10 件事

原文作者 : Bryn Bennett 原文链接 : 10 Things I Wish I’d Known Before I Started Coding 译者 : 邓士伟 校对者: 邓士伟 状态 : 完成我知道在软件开发过程中,我不是唯一一个不知道如何开始而耽误软件开发周期的人。软件开发过程中过多的资源提供了很多机会,但是也增加了第一步的选择难度。这里,对于那些想迈开第一步或正在迈...

2020-01-08 22:56:53 174

原创 「读」社交的本质

前段时间阅读了「社交的本质:扎克伯格的商业秘密」一书,作者是 Facebook 的创业元老、Facebook CEO 马克·扎克伯格的姐姐兰迪·扎克伯格。本书在豆瓣上评分并不高(5.2 分)。说句实话,阅读时我也是强忍着读完,如评论所说,该书的内容就是兰迪的事业之路回忆录。确实,书中基本都是围绕着发生在兰迪的事业中的大事件来讲述, 比如第一章中讲述了为奥巴马竞选一事,作者作为刚初出...

2019-06-17 21:08:37 347

翻译 R8 优化:Method Outlining

原文出自 jakewharton 关于 D8 和 R8 系列文章第十篇。原文链接 : R8 Optimization: Method Outlining原文作者 : jakewharton译者 : 小伟近来我在 he economics of generated code 文章中讨论了优化自动生成的代码,在人工编写过程中是非常不值得的。虽然文章中的代码是我过去工作中写的,但是也做了...

2019-06-01 22:40:58 365

翻译 R8 优化:字节码常量操作

原文出自 jakewharton 关于 D8 和 R8 系列文章第九篇。原文链接 : R8 Optimization: Class Constant Operations原文作者 : jakewharton译者 : 小伟在上篇文章中,我们介绍了 D8 和 R8 在编译时期直接对字符串常量的操作。R8 能够做到这一点是因为可以在 IR 层获取字符串常量的内容。然而,还有另一种对象类...

2019-06-01 22:40:17 295

翻译 R8 优化: 字符串操作

原文出自 jakewharton 关于 D8 和 R8 系列文章第八篇。原文链接 : R8 Optimization: String Constant Operations原文作者 : jakewharton译者 : 小伟在上篇文章中,我们介绍了 D8 和 R8 在编译时期可以通过 -assumevalues 标签指定值的范围,R8 可以通过这个功能优化 SDK_INT 的判断条...

2019-06-01 22:39:37 314

翻译 值假设

原文出自 jakewharton 关于 D8 和 R8 系列文章第七篇。原文链接 : R8 Optimization: Value Assumption原文作者 : jakewharton译者 : 小伟在前两篇文章中,我们介绍了 R8 针对变量的数据流程处理做的一些优化,比如变量是否恒为空或非空,然后进行相关的代码优化,删除无用的判断分支。R8 的另一种优化是跟踪变量可能为空的使...

2019-06-01 22:38:42 112

翻译 R8 优化:Null 数据分析 (第二篇)

本文原文出自 jakewharton 关于 D8 和 R8 系列文章第六篇。原文链接 : R8 Optimization:Null Data Flow Analysis (Part 2)原文作者 : jakewharton译者 : 小伟在上篇文章中,我们演示了 R8 针对内联方法进行空判断代码的优化,这是由于 R8(和 D8)在 IR 时期通过空判断实现的。当传递给方法的参数是空或...

2019-05-28 09:01:36 289

翻译 R8 优化:Null 数据分析(第一篇)

本文原文出自 jakewharton 关于 D8 和 R8 系列文章第五篇。原文链接 : R8 Optimization: Null Data Flow Analysis (Part 1)原文作者 : jakewharton译者 : 小伟上篇文章中第一次介绍到 R8 的优化,本篇文章将介绍 R8 针对 Null Data(空数据)的优化,让我们一起开始吧!1. R8fun &l...

2019-05-28 09:01:08 143

翻译 R8 优化:Staticization(静态)

本文原文出自 jakewharton 关于 D8 和 R8 系列文章第四篇。原文链接 : R8 Optimization: Staticization原文作者 : jakewharton译者 : 小伟在前面的三篇文章中,我们着重讲述了 D8 的功能,D8 的核心功能是将 Java 字节码转换为 Dalvik 字节码,也会涉及到 Java 新特性的适配和个别供应商或特定 Androi...

2019-05-28 09:00:38 128

翻译 规避供应商以及特定版本的VM Bugs

本文原文出自 jakewharton 关于 D8 和 R8 系列文章第三篇。原文链接 : Avoiding Vendor- and Version-Specific VM Bugs原文作者 : jakewharton译者 : 小伟在前两篇文章中介绍了 D8 使用脱糖来兼容 Java 语言新特性。脱糖是很有趣的功能,但它是 D8 的次要功能。D8 的主要职责是将基于堆栈的 Java ...

2019-05-25 19:46:40 90

翻译 Android 的 Java 9,10,11,12 的支持

本文原文出自 jakewharton 关于 D8 和 R8 系列文章第二篇。原文链接 : Android’s Java 9, 10, 11, and 12 Support原文作者 : jakewharton译者 : 小伟本系列的第一篇文章探讨了 Android 对 Java 8 的支持。尽管 Android 对 Java 8 的语言特性和 API 的支持还没有完全覆盖。但是 D8 ...

2019-05-24 07:04:00 2648 2

翻译 Android 的 Java 8 支持

本文原文出自 jakewharton 关于 D8 和 R8 系列文章第一篇。原文链接 : Android’s Java 8 Support原文作者 : jakewharton译者 : 小伟我在家办公已经有几年了,在此期间,我听到周围的人抱怨 Android 对 Java 不同版本的支持力度。在每年的 Google I/O 大会上,你都会发现我针对这个问题在 fireside ch...

2019-05-23 22:42:14 691

原创 Android D8 编译器 和 R8 工具

Android 安装包的后缀都是 .apk, APK 是 Android Package 的缩写。在 APK 打包编译的过程中,会涉及到 javac 工具将 .java 文件编译为 .class 文件,然后 .class 文件经过脱糖由 dex 工具打包为 .dex 文件。javac:用于将 .java 文件编译为 .class 文件;desugar:用于将 Java 8 中的特性在 An...

2019-05-12 16:13:34 4485 2

原创 Git 基础

1. Git 中的基本概念1.1 仓库仓库又称为版本库,英语名称 repository。说得通俗一点就是需要用 Git 进行管理的文件夹。这个仓库中存放了我们的代码、文件,我们可以通过 Git 对这些代码进行管理。1.2 工作区和暂存区工作区:我们在工作区中进行代码的编辑,工作区就是我们正在操作的文件夹。暂存区:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本...

2019-05-08 20:24:04 102

原创 「读」结构思考力

最近读了两本书 「关键提问」和「结构思考力」。「关键提问」的核心是发现问题的关键,而「结构思考力」是针对“解决问题”的一套逻辑思考体系。无论在工作还是生活中,往往发现核心问题的能力远胜于解决问题,没有正确提出问题,也无法指望得到正确答案。1. 关键提问、提问关键「关键提问」一书中的五个观点来自于哈佛大学 2016 年的毕业致辞。不管是在学校还是在职场,我们花了太多的时间和精力寻找答案。答案...

2019-05-03 00:46:15 395

原创 「读」穷爸爸富爸爸

「富爸爸穷爸爸」是一本介绍投资知识、强调财商智慧的大众通俗读物。该书可以说是无出其右的财商启蒙书,几年前就听别人推荐过这本书,但是直到近日才抽时间把该书翻阅一遍,书中的很多观念对于没有理财基础的人有很好的启发作用,观念让人眼前一亮,颇有醍醐灌顶之感。对于这本书只能感叹一句:读晚了。清崎有两个爸爸:“穷爸爸”是他的亲生父亲,一个高学历的教育官员;“富爸爸”是他好朋友的父亲,一个高中没毕业却善于投...

2019-04-13 15:46:19 324

原创 「读」奈飞文化手册

《奈飞文化手册》公司全员都在读的一本书,几乎每个小组都有一本,周末借来花了一些时间通读完毕,昨日又拜读了小陆同事的读后感。 全书共有 8 章内容,通读全书,这本书更适合管理层去阅读,对普通的职员来说也有一定启发作用。不在其位不谋其...

2019-04-03 12:52:21 2044

原创 「看」大秦帝国

前段时间受到 CEO 文章的影响《秦孝公与商鞅的组织建设》,最近也把电视剧「大秦帝国」看了一遍,这部电视剧非常精彩,主要讲述了秦孝公和商鞅推行变法强秦的史事。在历史课中我们知道商鞅最后死于车裂之刑,但是对事情的缘由不是很清楚,对...

2019-04-03 12:46:50 188

原创 「读」从 0 到 1:开启商业与未来的秘密

这本书是同事推荐阅读的一本书,作者是蒂尔·马斯特斯,该书是作者作为一名知名投资人结合自身的发展为未来的企业家和普通人揭示初创企业的一些核心要点以及具备创新精神的重要性。 这是一本干货满满的书,整书的逻辑清晰、论据充足,没有过度的废话,作者...

2019-04-03 12:42:57 132

原创 2019 扬帆起航

2018 年没实现的愿望,2019 接着干,不要怂,就是干!!其实公众号自去年换工作后就很少更新了,主要是自己思想上的转变,发现微信公众号这个平台不适合分享技术,首先是代码排版不好,技术性的文章一般都是会有相关的代码进行演示,而微信公众号的文章主要阅读的平台是移动端手机,不适合展示代码,所以效果不好。其次,公众号平台作为媒介比较适合新闻类文章的传播,短小阅读快,不是很适合阅读烧脑的技术文章,所...

2019-01-20 00:07:34 232

原创 Android Gradle 基础入门

由于现在 CSDN 私自会把上传的资源更改基本,所以本文的 PDF 文档托管在 Github 上,地址: https://github.com/dengshiwei/work-summary/blob/master/work-blog/pdf/Android Gradle基础入门.pdf在 Android Studio 构建的项目中,基于 Gradle 进行项目的构建,同时使用 Androi...

2018-10-25 21:11:22 237

原创 Java8 特性——增强集合处理 Stream 操作

Stream 作为 Java8 中的一大亮点,专注于对集合(Collection)进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。Stream API 借助于同样新出现的 Lambda 表达式,极大的提高编程效率和程序可读性。同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,...

2018-10-19 15:32:34 354

原创 Java 8 ——Lambda 基本使用

1. Lambda 的前世今生在 Java 近年来的版本更新中,重大的版本更新莫过于 Java 5,在 Java 5 的更新中引入了“泛型”、“注解”、“枚举”和“自动拆装箱”等,本次在 Java 8 中引入 Lambda 的操作堪比 Java 5 的版本更新,Lambda 表达式用于替代函数式接口(比如 Runnbale),用于简化程序的复杂性。同时在 Java 8 的版本中通过 Lambd...

2018-10-19 15:30:58 1225

原创 Java 8 特性——interface 中的 static 方法和 default 方法

在 Java8 中引入 lambda 的概念,针对集合提供新的访问方式 Steam,所以在不针对 JDK 过往版本的大改情况下,支持向下兼容,针对接口的特性进行修改。在 JDK1.8 之前,Java 中针对接口的特性有:接口中可以包含变量和方法。接口中的变量被默认指定为 public static final 类型,常见的就是在接口中定义一些常量值,接口中的方法则默认是 public abs...

2018-10-19 15:28:20 1140

原创 2018 Google IO大会来了

2018 Google IO大会于今日凌晨落下帷幕,全程观看下来,有点失落,没有特别多的亮点。核心的主题还是AI、机器学习、无人驾驶等方面。有兴趣的同学可以通过下面的地址观看直播录像:2018 Google IO直播录像地址:http://live.sina.com.cn/zt/app_zt/l/v/tech/io18/?page=2本次大会的关键要点如下:Go

2018-05-09 15:55:45 3321

原创 设计模式——装饰器模式

装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰器模式(Decorator Pattern)的核心作用就是动态地给一个对象添加一些额外的职责功能。适用于透明且动态扩展类功能时。这点注意跟适配器模式的区别:适配器模式主要是为了接口的转换,而装饰者模式关注的是通过组合来动态的为被装饰者注入新的功能或行为(即所谓的责任)。

2018-01-25 12:25:39 263

原创 设计模式——适配器模式

适配器模式,即通俗理解,适配无法直接使用的接口以便可以利用。适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式的组成角色目标角色(Target):适配所期待的得到的接口,目标角色可以是类或接口。这里,我更倾向于是接口,因为我理解目标角色更倾向于一种接口规范。源角色(Adaptee):需要适配的接口或类

2018-01-25 12:24:02 202

原创 设计模式——策略模式

策略模式是使用面向对象的继承和多态思想,将同一接口的不同算法实现封装在不同的类中,从而使他们相互替换,达到客户端环境不受算法变动的影响,降低耦合。策略模式(StrategyPattern)也成政策模式,通过定义抽象类或基类的策略,来生成不同实现的算法家族,以便各个具体策略类(ConcreteStrategy)能够进行替换,降低耦合。策略类的组成角色:环境类(Context):持

2018-01-25 12:22:25 211

原创 设计模式——单例模式

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。单例模式在实际的开发过程中,使用最常见。针对频繁使用的类,我们可以将它定义为一个单例来避免类对象频繁的创建销毁,提高效率。单例模式有以下特点:单例类只能有一个实例单例类必须自己创建自己的唯一实例单例类给其它对象提供这一实例单例模式

2018-01-22 16:27:40 170

原创 设计模式——单例模式

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。单例模式在实际的开发过程中,使用最常见。针对频繁使用的类,我们可以将它定义为一个单例来避免类对象频繁的创建销毁,提高效率。单例模式有以下特点:单例类只能有一个实例单例类必须自己创建自己的唯一实例单例类给其它对象提供这一实例单例模式

2018-01-19 23:58:43 202

原创 设计模式——工厂模式

工厂模式核心是封装对象的创建接口,将new对象的操作封装起来,方便创建使用、管理对象。工厂模式的分类简单工厂模式(Simple Factory)工厂方法模式(Factory Method)抽象工厂模式(Abstract Factory)工厂模式适用于:在编码时不能预见需要创建哪种类的实例。系统不应依赖于产品类实例如何被创建、组合和表达的细节简单工厂模式简单工

2018-01-19 23:56:57 205

原创 Thread的wait方法理解

wait方法是Object对象的方法。线程与锁是分不开的,线程的同步、等待、唤醒都与对象锁是密不可分的。wait方法会将当前线程放入wait set,等待被唤醒,并放弃lock对象上的所有同步声明,当前线程会因为线程调度的原因处于休眠状态而不可用。只有通过以下四个方法可以主动唤醒: 1. notify 2. notifyAll 3. Thread.interrupt() 4. 等待时间过完...

2017-11-08 23:07:50 3772 1

原创 Android监听键盘事件

et_search.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == Edito...

2017-10-25 10:02:15 1210

原创 组内知识培训

1. Android程序是如何一步一步,运行在linux的内核系统上面。 2. Android HAL层开发过程,和为何在 4.0之后,系统架构上面会增加一个HAL层 3. 开机之后,Android系统是如何一步一步的启动的。 4. Android 的音频处理从FrameWork到底层是怎样 5. Android jni编程从入门到会用 6. Android 源码学习,如何开展,能学习...

2017-10-23 21:31:12 189

原创 正则表达式替换汉字和数字

替换所有汉字public static void main(String[] args) { String str = "温度调整到1000度1"; String reg = "[\u4e00-\u9fa5]"; Pattern pat = Pattern.compile(reg); Matcher mat=pat.matcher(str); Syste...

2017-10-20 18:35:34 3102

原创 Pycharm激活

使用方法:激活时选择License server 填入http://idea.imsxm.com 点击Active即可。

2017-08-10 16:53:16 295

原创 浅谈Android系统中drawable的使用

在Android系统中有很多有drawable相关的概念。比如BitmapDrawable、LayerDrawable、ScaleDrawable等。同时android系统中同样存在drawable-hdip、drawable-ldip等。在Android Studio中同样也存在mipmap-hdpi、mipmap-mdpi等。一、Android中的单位inchinc

2017-08-02 20:32:03 649

Android Gradle 入门指南

这是我自己的总结做的pdf,关于 Android Gradle的使用,怎么现在不能设置免费下载了,哎。

2018-09-16

切换主题demo

切换主题demo

2016-10-04

eclipse的ndk插件

eclipse的ndk插件,用于在preference的android选项中显示ndk选项。

2016-07-29

DownService

出自http://blog.csdn.net/mr_dsw/article/details/51179370,用于介绍service与activity之间通讯的几种方式。

2016-04-18

rxjava essential中文版

rxjava essential中文版,适合入门级的RxJava学习,方便入门。

2016-03-16

实例代码测试

layoutanimation的使用,设计了一些案例

2016-02-19

上滑消失下滑出现

上滑消失下滑出现,博客地址:http://blog.csdn.net/Mr_dsw/article/details/50527278

2016-01-16

轮播广告条

打造一体式广告轮播条升级版,一体化的轮播广告条。博客地址:http://blog.csdn.net/Mr_dsw/article/details/50502955

2016-01-12

ViewIndicator

ViewIndicator,一体式的导航器,将viewpager和指示器集成在一起,方便使用。博客地址:http://blog.csdn.net/Mr_dsw/article/details/50378582

2015-12-22

TextView动画

TextView,常见的textview运行动画,可用于播放广告的动态展示。详见博客:http://blog.csdn.net/Mr_dsw/article/details/50365611

2015-12-20

apktool2.0.2

apktool2.0.2 ,高版本的apktool

2015-12-16

apktool+dex2jar+jd-gui.rar

apktool+dex2jar+jd-gui.rar ,反编译apk的工具合集。博客地址:http://blog.csdn.net/Mr_dsw/article/details/50324923

2015-12-16

EventBus实例

EventBus的demo,博客中的实例,博客地址:http://blog.csdn.net/Mr_dsw/article/details/50311415

2015-12-15

androidnetdemo

androidnetdemo,博客中的讲解实例,详情见博客:http://blog.csdn.net/mr_dsw/article/details/49514963

2015-10-31

MyAdapterDemo

MyAdapterDemo使用案例,参照博客http://blog.csdn.net/mr_dsw

2015-10-22

swiperefreshdemo

swiperefreshdemo的使用demo,根据博客内容编写而来,博客地址:http://blog.csdn.net/mr_dsw

2015-10-21

ServiceStudy

ServiceStudy,博客讲解中的实例代码,使用Android studio开发,供大家学习使用。

2015-10-14

baiduloading

baiduloading,仿百度加载动画的动画效果,很简单的实现。

2015-10-11

loadinganimation

loadinganimation是仿搜狗的加载动画

2015-10-10

ShareDemo代码

ShareDemo代码,博客中的实例,需要下载的可以下载看看

2015-10-09

ShareSDK代码

改文档是最新的ShareSDK,里面包含了SDK文件以及官方提供的demo,供大家下载使用

2015-10-09

安卓截屏实例源码

安卓截屏实例源码,用于进行简单的安卓截屏实现,大家可以学习使用,更多精彩内容http://blog.csdn.net/mr_dsw/

2015-10-08

cardviewdemo

cardviewdemo的基本使用,博客中的使用介绍代码,博客地址:http://blog.csdn.net/mr_dsw

2015-10-03

RecyclerView

RecyclerView的所有的demo代码,供参考学习使用。

2015-09-29

安卓V7支持包

这是官方提供的v7包,供大家下载使用,包含最新的控件。博客地址:http://blog.csdn.net/mr_dsw

2015-09-29

百度地图简单应用

百度地图的简单应用demo,供大家使用!

2015-09-25

android日历控件

这是一个日历控件,里面提供能的功能很完善了,可以设置字体颜色,选中的背景色,设置事务。点击左右翻页等

2015-09-25

圆形的imageview

圆形的imageview,自定义控件,展示圆形的图片,可用于图像。

2015-09-21

图片视频缩略图

简单的案例,获取相机拍照和录制视频返回的照片,然后获取缩略图进行展示。

2015-09-17

融云的使用demo

自己学习使用融云的过程中,测试的各个模块的用法,非常简单的demo,只要配置就行了。

2015-09-16

support-v4包,版本高级

比系统自带的v4包版本高,满足一些第三方的sdk要求的v4包的要求,用户v4 包的升级

2015-09-16

清风徐来丶风自来的留言板

发表于 2020-01-02 最后回复 2020-01-02

C币兑换

发表于 2015-11-10 最后回复 2016-08-10

说说途牛待遇咋样

发表于 2016-07-27 最后回复 2016-08-01

博客的一个bug

发表于 2015-10-20 最后回复 2015-11-10

Android自定义控件之日历控件

发表于 2015-09-26 最后回复 2015-10-19

博乐点评未显示

发表于 2015-10-10 最后回复 2015-10-10

使用markdown写文章,没有发表到首页选项么

发表于 2015-09-05 最后回复 2015-09-26

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

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