Minus Wang

人生最可悲的事情,莫过于胸怀大志,却又虚度光阴

java中的NAN和INFINITY

java浮点数运算中有两个特殊的情况:NAN、INFINITY。 1、INFINITY: 在浮点数运算时,有时我们会遇到除数为0的情况,那java是如何解决的呢? 我们知道,在整型运算中,除数是不能为0的,否则直接运行异常。但是在浮点数运算中,引入了无限这个概念,我们来看一下Double和Float中的定义。 Double: public static final double POSITI......

Android中UID机制和共享进程

我们经常在一个activity中去start另一个activity,或者与另一个acitivity的结果进行交互(startActivityForResult)。但有没有想过可能会出现的permission问题呢?如果你遇到了permission denial的Exception,那么你需要读读这篇文章啦。 我们在同一个application内部,可以随意的startActivity fro......

Android android-signaturepad issue related

Android手写开源项目和资料搜集-张明云 Android手写优化-平滑的签名效果实现 Android手写优化-更为平滑的签名效果实现 android-signaturepad Github源码 p.codekk.com—android-signaturepad getHistorySize 安卓自定义View进阶-MotionEvent详解 public final int getHi......

git apply、git am打补丁.diff 和 .patch

生成patch: git format-patch -M master 生成指定patch,0163bed3bf59ae74c36cc5138b4c24f1556d8304是commit id,-1是指从当前id开始,向下提交次数,包含此次且计数从1开始。也就是说,我想要打出0163bed3bf59ae74c36cc5138b4c24f1556d8304当前的patch,则:git fo......

转载-MD5算法原理

MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2、MD3和MD4发展而来。MD5算法的使用不需要支付任何版权费用。 MD5功能: 123输入任意长度的信息,经过处理,输出为128位的信息(数字指纹);不同的输入得到的不同的结果(唯一性);根据128位的输出结果不可能反推出输入的信息(不可逆); MD5属不属于加密算法: 认......

软件工程中英对照词汇表

软件工程中英对照词汇表 A abstract class 抽象类提供一组子类共有行为的类,但它本身并不具有实例。抽象类表示一个概念,从中派生的类代表对这一概念的实施。 Abstraction 抽象对视图或模型的创建,其中忽略了不必要的细节,以便专注于一组特定的相关细节。 access modifier存取权限对类、方法或属性进行访问控制的关键字。Java 中的存取权限可以是公有、私......

一个Quicksort究竟可以写到多么短

原文转载自-博客园 说实话,我从来没有能一次写对一个快速排序,总是有各种各样的错误。快排麻烦就麻烦在,没办法去调试它,因为它是生成递归的,只能去静态调试,或者是不断的打印数组的状态以推测错误的可能性。 然而快排的基本思想却是极其简单的:接收一个数组,挑一个数,然后把比它小的那一摊数放在它的左边,把比它大的那一摊数放在它的右边,然后再对这个数左右两摊数递归的执行快排过程,直到子数组只剩一个数为......

内存泄露自动探测神器—LeakCanary

LeakCanary内存泄露自动探测神器,它是一个Android和Java的内存泄露检测库,由Square开源 “A small leak will sink a great ship.” - Benjamin Franklin Getting started 在项目的build.gradle文件添加: 1234dependencies { debugCompile &#......

滴滴开源Android插件化框架VirtualAPK

VirtualAPK:滴滴 Android 插件化的实践之路 滴滴开源Android插件化框架VirtualAPK原理分析 ...

转载-重新理解响应式编程

重新理解响应式编程 前言 这是前段时间我在公司内部Android组的技术分享会上,以响应式编程为主题做的一个专题分享,反馈还不错,但是也有很多问题,因此我根据反馈重新修改和完善了相关的论述,组成一篇文章分享给大家。 研究这个问题的初衷在于目前很多人对于RxJava这种库,以及它背后所体现的编程思想了解不多,而网上也很少有人能够把它讲明白,很多时候只能参考网络上的一些RxJava项目实践去......

安卓App热补丁动态修复技术介绍

QQ空间开发团队-安卓App热补丁动态修复技术介绍 1.背景 当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包App、测试、向各个应用市场和渠道换包、提示用户升级、用户下载、覆盖安装。有时候仅仅是为了修改了一行代码,也要付出巨大的成本进行换包和重新发布。这时候就提出一个问题:有没有办法以补丁的方式动态修复紧急Bug,不再需要重新发......

Android APP启动时间统计(阿里巴巴)

CSDN原理系列-yangxi_001作为 Android 开发者,想必多多少少要接触启动速度优化相关的事情,当用户越来越多,产品的功能也随着迭代越来越多,App 逐渐变得臃肿是一件很常见的现象,甚至可以说是不可避免的现象,随之而来的工作就是优化 App 性能,其中最主要的一项就是启动速度优化。但本文的主角并不是启动速度优化,而是启动时间统计。 一 启动类型工欲善其事,必先利其器。想要优化 ......