phantomVK

Cease to struggle and you cease to live.

Pip避免下载超时的镜像源配置

国内访问Python pip官方镜像源速度非常慢,matplotlib下载速度只有10KB/s,而且下载没一会连接超时。浪费时间不止,几次下载没有一次成功过。最好的解决办法就是给pip增加国内镜像源。按照下面步骤设置好后,matplotlib下载有超百倍提升,从15KB/s提升到3.6MB/s。体积比较小的库下载速度实测满速。 先拿Mac OSX来详细说,终端进入目录: 1 $ cd ~...

Android 22授权获取失败导致闪退

从Android 6.0版本开始,系统启用更加严格的权限管理,部分重要权限只能在运行过程由用户授权,无法通过声明获得。如READ_PHONE_STATE这种权限,即使在AndroidManifest中已经声明,如果既没有在运行时向用户请求,又没有做相应处理,就会导致应用闪退。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...

dlopen is 32-bit instead of 64-bit

有的手机默认支持64位,启动的时候会尝试加载64位的so。不过包却不一定对64位做出支持。当系统无法加载到理想的包,就会抛出以下异常。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 06-01 14:40:51.903 25196-25196/com.abc...

Gradle构建安装包

一、默认配置 android域 defaultConfig 包含应用默认包名、最低SDK版本、目标SDK版本、应用版本序号和应用版本代号。如果其他地方配置相同参数,新的参数会覆盖默认参数。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 android { compileSdkVersion 25 buildToolsVersion "...

NumPy学习手记

Python原生提供多种数据类型的支持,包括列表、元组、字典、集合等。不过对于数据统计、数据挖掘、机器学习来说,这些支持不够用,而NumPy则是数学运算库的不二之选。 一、安装或升级 没有pip的请先安装Python包管理工具。 安装NumPy: 1 $ pip install numpy 升级NumPy: 1 $ pip install --upgrade numpy 二...

apkbuilder找不到的问题

apkbuilder在 Android SDK build tools r22里面被移除了。如果我们还需要使用这个工具的话,可以通过以下方式重新取得apkbuilder。 切换工作目录,把工作目录切换到tools下面。例子中是在linux平台的tools. 1 android-sdk-linux/tools 对于Windows: 1 $ copy android.bat apkbu...

计算月天数

计算月有多少天,已包括闰年的情况 1 days = ( month == 2 ) ? ( 28 + isLeapYear ) : 31 - ( month - 1 ) % 7 % 2;

Android ActionBar溢出菜单icon

两个方法都通过反射的方式调用图标显示方法,差别是不同Android版本会调用不同方法名,所以总有一个会被成功调用。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 @Override public boolean onMenuOpened(int featureId, Menu me...

Java源码系列(4) -- AbstractStringBuilder

一、类签名 AbstractStringBuilder是StringBuilder和StringBuffer的父类,包含字符串操作的实现逻辑,子类根据各自需求对方法调用做同步处理,类本身线程不安全。作为可变字符串的父类,借助字符数组的形式实现可变字符串,类中大部分方法是字符修改、插入、追加等操作。 1 abstract class AbstractStringBuilder implem...

FireFox配置PAC

使用范围 这个插件及相应设置适合Linux、MacOSX、Windows下的FireFox浏览器。这个插件必须配合已经连通的SS服务使用,单独使用插件无效。 下面的设置是在Ubuntu 16.04 LTS x86_64演示。 安装插件 进入FireFox的附加组件 - 插件中,搜索Autoproxy。选择下面这个插件,安装之后重启FireFox。 设置AutoProxy 重启...

Java源码系列(3) -- StringBuffer

一、类签名 相信看过 StringBuilder 的读者都了解StringBuilder和StringBuffer的异同,这里我们再重温一次。 1 2 3 public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharSequence ...

Android源码系列(6) -- LruCache

一、类签名 LruCache是Android提供的缓存工具类,根据最近最少使用算法缓存元素,避免缓存导致内存占用过大,或对象释放不及时引起内存溢出。 1 public class LruCache<K, V> 被操作的元素会移到队列末位,一段时间后,原本处于队列末位的元素,因为其他元素的操作逐渐被挪动到队头。 如果队列空间足够,所有元素都不会移除。否则,处于队头的元素优...

Java源码系列(2) -- StringBuilder

一、前言 StringBuilder是可变字符串序列,API和StringBuffer兼容。StringBuilder不保证线程安全,而StringBuffer可以。 由于单线程没有线程同步的要求,所以StringBuilder在单线程中比StringBuffer拥有更好的性能。同样道理,多线程中应该使用StringBuffer保证字符串修改的安全。 二、类签名 StringBuil...

Java源码系列(1) -- ArrayList

一、类签名 源码版本为JDK8,ArrayList实现了 随机存储、克隆、序列化 接口,且多线程操作不安全,需要线程安全请参考:CopyOnWriteArrayList。 1 2 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAcc...

Android学习笔记,持续更新

一、TabLayout 1.1 TabLayout常见XML属性 属性 说明 app:tabIndicatorColor tab滚动指示横线颜色 app:tabSelectedTextColor 被选中tab子项的文本颜色 ...