November 19th, 2017
本期内容丰富.有趣的有如何搭建真机测试平台,Proguard里面各类keep的区别,如何运行时获得泛型类型,Android的Internal Storage到底是什么,以及Android Things的一篇文章.
代码部分有介绍了一个twiiter的序列化库,还有个比较炫酷的圆形Menu可以应用到自己项目中去.
文章介绍了Google Play Store分阶段发布的特性,可以帮助你去降低发布风险。
简单来说就是可以控制用户升级到新版本的比例,遇到问题可以发新版覆盖,更好的是,HotFix版本的发布范围是取自之前已经收到更新的用户的,帮助你去观察问题是否已经修复,而尽量的不会去影响其他未收到更新的用户。
文章介绍了如何更好的支持Android O最新的AutoFill功能,如添加hint为其分类,设置一些attribute标注其需要或者不需要autofill,因为默认都是开启的...
- setImportantForAutofill(IMPORTANT_FOR_AUTOFILL_NO)
文章介绍了如何通过STF(Smartphone Test Farm)与GCP(Google Cloud Platform)来搭建公网测试平台.
由于没有公网静态地址,所以这里采用微服务平台来搭建.
手机与Local的机器adb连接, Local与GCP通过SSH Tunnel连接,使用autossh保活,GCP上跑STF.如果有多个区域的Local实体机,可以通过nginx均衡.
介绍了
的历史渊源以及他的消失.
- Internal Storage
最早(1.x-2.x)实际上是分Internal跟外挂的SdCard,内部储存很小只有几十M,我记得以前得通过脚本开启app2sdcard,来将程序数据挪到sd卡,当然2.3开放了这个功能.
3.x-4.4之前,内部储存越来越大,并且也可以挂载非sd卡的储存空间,我们称之为固有ROM.
4.4以后把所有的内部储存分成了Internal Storage与External Storage,其实主要是读写权限的区别,并限制了挂载储存(sdcard)的读写权限.
8.0以后取消了Internal Storage的叫法,内部储存统一叫Storage
介绍了新版本手机支持
也就是Wide color的情况, 可以通过Manifect设置Activity是否开启
- sRGB
模式,还可以通过
- wideColorGamut
文件夹指定色值,在支持Wider色的机器上使用.
- values-widecg
文章以图表的方式介绍了Proguard里面不同的keep之间的区别.
总结一下就是加了
就会shrink,加了
- names
就是只针对于member,加了
- member
就是必须
- with
里面的member都有的时候才会执行.
- {}
Android Things相关的分享,作者使用MIDI协议,结合Google的Nearby API,相当于手机与Things之间通过Nearby通信,然后Things将MIDI数据传给电脑上的Software.
文章讲了运行时获得泛型信息,并通过这个办法,Gson的TokenType将类型信息交给反序列化使用.
大致原理:
对于
,通过其
- InnerType#Internal<String>
可以获得很多信息.
- GenericSuperclass
是
- OwnerType
- InnerType
是
- RawType
- InnerType$Internal
是
- ActualTypeArguments
- java.lang.String
文章介绍了一个更牛的序列化工具
.
- Serial
它的特点很多,如更快的
,更容易
- Perfermance
,更好的
- Debug
兼容性,以及加入已有系统的
- backward
.
- flexibility
一个UI空间,可以点开一个圆圈类型的Menu.
连接
的一个App,非官方,WIP,使用了很多新框架.
- Trakt.tv
通过写一写注解来绑定layout与Java,生成RecyclerView的adapter.
包含了android14-27的changelog的poster
一个gradle的format插件,支持包括compile不同格式的切换,还有maven到gradle的转换等等.
Twitter的序列化框架.
来源: http://www.cnblogs.com/mengdd/p/android-weekly-notes-issue-284.html