前段时间升级 qq sdk
实现第三方登录功能。在用户手机未安装QQ时,会引导用户下载安装。Google Play 商店以它的规则为由下架了我们的App。这个问题很多开发者都遇到过,毕竟我们都得听 Google 的,规则制定者不是开玩笑的。经过沟通,坚决不让重新上架,提议换个包名拷贝代码,重新上传一个新的应用。我们当时按照这个简单的方法上架了紧急修复的App,但是考虑到后续功能迭代以及两个项目的维护成本,需要寻求一个新的方式来完成这些操作。
RxJava 全局 Error 处理方案
Posted on
处理网络请求错误,是不可避免的需求。在当下盛行的 RxJava
+ Retrofit
的组合结构中,如何优雅的实现这种需求是所有开发者必须要解决的问题。
Head First设计模式——装饰者模式
Posted on
|
In
Java
本文是阅读 Head First 设计模式——装饰者模式的总结。
这本书的教学模式很不错,个人很喜欢,由实际的案例由浅入深,循序渐进的让你明白良好的设计是多么的优雅迷人(回头看看自己的代码,WTF!)。
但是读第二遍的时候,居然想不起来这章节说了什么,到底怎么解决这个问题的。也就是说,看的时候爽快,看完了并没有应用到具体的Coding中。
这一章节的案例是:设计星巴兹咖啡系统
DashPathEffect not working
Posted on
|
In
Android
由于公司的文字渲染引擎是自己实现的,在对单词进行标识时用到了虚线下划线的效果,通过 Paint
设置 setPathEffect()
方法,其中 DashPathEffect
类是官方提供的设置虚线的显示效果。在源码注释中明确说明 Paint
的 style 设置成 STROKE
or FILL_AND_STROKE
才会生效。最近发现在高版本的 Android 设备(8.0)上,原本应该显示的虚线变成了实线。
Hexo 博客接入 Gitment 评论系统踩坑
Posted on
|
In
环境配置
本篇主要记录 Hexo 静态博客接入 Gitment 的步骤和踩坑。基于 github.io 的静态博客,NexT 是最新的 v6.1.0。
Java 多线程 :Volatile
Posted on
|
In
Java
在多线程并发编程中,锁的运用很常见。synchronized 的几种运用方式,相信大部分 Java 程序员已经很熟悉。而 volatile 作为轻量级的 synchronized,不会像锁一样造成阻塞,因此,在能够安全使用 volatile 的情况下,volatile 可以提供一些优于锁的可伸缩特性。如果读操作的次数要远远超过写操作,与锁相比,volatile 变量通常能够减少同步的性能开销。