WDMyCloud 买了将近一年时间了,本来准备只给 Mac 做 Time Machine 备份用的,奈何 3T 空间实在撑不满,多着也是浪费,再加上平时白天上班,家里带宽闲着也是闲着,于是今天折腾了一下给他添加了迅雷远程下载功能,亲测可用。 首先需要说明的是,网上大部分教程抄来抄去,几乎全是 Windows 下操作的版本,其实对于 Mac 用户而言,完全不用 PuTTY,因为 Mac 自...
WDMyCloud 3T NAS 添加迅雷远程下载(Mac 用户)
解决 DialogFragment show() 方法导致的 IllegalStateException
问题 钱包 2.0.0_beta 版本上线之后,我们给新获得理财权限的用户增加了一个欢迎对话框。按照 Google 官方关于开发对话框时的指导,钱包把所有会用到的 Dialog 全部采用 DialogFragment 进行了封装,并且放到了一个包下进行管理。 DialogFragment 的用法非常简单,而且内部封装好了show() 方法,很容易就可以把对话框展现出来,就像这样 pub...
关于 AsyncTask 的常见问题(Common questions on AsyncTask )
本文由 Lin Shen 译自 Common questions on AsyncTask,原文作者 Colt McAnlis, 转载请务必注明出处! 关于 AsyncTask 的常见问题 我在 Google 工作最喜欢的一点,就是把一些比较复杂的概念,分解成一小部分一小部分,这样就可以确保每一位工程师都能清楚地理解。在我最近的《Android 性能优化典范》视频中,我提到了...
Android Overscroll Viewpager
Project Home https://github.com/shawnlinboy/android-OverscrollViewPager/ Description 最近项目里接到一个需求,效果如下: 简而言之,需要在 ViewPager 滑到最左或者最右的时候,仍然支持可滑动。 具体就是根据是在 ViewPager 最右边向右滑了,还是在最左边向左滑了,做出响应。这就要求对...
使用 tools:node 替换 AndroidManifest.xml 中的节点
今天下班前被组里的小伙伴问了一个问题: 如果一个工程需要定义两个 flavor,每个 flavor 需要用一份单独的 AndroidManifest.xml,应该怎么配置? 这个问题,熟悉 gradle 的同学应该是能轻松搞定的。我们知道,gradle 在编译 apk 的时候支持给每个不同的 flavor 指定 src、res、甚至 AndroidManifest.xml 文件都...
Best Practise for Updating UI on AsyncTask
好久不更新博客,上来讲一下最近踩道的一个坑,顺便感觉可以普及一下在 AsyncTask 更新 UI 时的正确姿势 最近我负责的一个模块,后台数据统计总在报 Glide 加载图片的时候报错导致停止运行,堆栈大概是这个样子的: java.lang.RuntimeException: Unable to destroy activity {MY PACKAGE NAME}: java.lang...
Proguard With Gradle
##Why Proguard Proguard 是什么?要清楚这个概念,我们先看看 Proguard 官方是怎么定义的,再看看 Android 官方是怎么定义 Proguard 官方 ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. It detects and ...
Zhuhai Blue
Zhuhai Blue by linshen on 500px
Octopress Speed Up
很长时间以来 Mobile Lin 访问慢这个问题我是知道的,但是一直也没想着去整,主要是因为觉得真正搞技术的人肯定都知道是什么原因导致访问慢,而且一定也知道加速的办法是什么。但这其实都是在为自己的懒找借口。晚上微博上终于有哥们儿跟我说了: 毕竟手机上2G网络挂着VPN来访问你的网站,也不是一件容易的事。 好吧。既然用户有需求,那就开整呗~ Octopress 在国内访问速度的...
Use LeakCanary to detect Android Memory Leak
不得不承认,长久以来,对于大部分 Android 工程师,分析内存泄露这一问题多少还是显得有些苦巴巴。因为自己去 dump HPROF 文件,再用 MAT 这类工具分析,对于之前没有接触过这方面工作的还是要一定学习成本的。而且因为这些代(da)码(keng)真的是你一行行写(wa)出来的,每个人在查自己代码的内存泄露问题时候多少都会想着“卧槽这里怎么可能有问题?这可是我亲手写的啊!!!”,这...