平安科技移动开发二队技术周报(第四期)
##业界新闻
###1)Java 9将于2016年正式发布
Oracle已经宣布了Java 9的时间表,其目标是在2016年9年正式发布该版本。该时间表遵循Oracle每两年发布一个新的主版本的计划,虽然与先前的版本相比,目前提出的最后期限可能存在一定的延期风险。
###2)谷歌I/O 2015大会前瞻:Android M、Chromecast 2以及更多
谷歌I/O大会再有几天就将与广大关注者见面,这意味着我们又该对这一年一度且总能引发业界高度关注的技术事件进行跟踪报道了。在这里,我们将一同了解谷歌总部将借此次盛会公布的所有项目。
###3)苹果为啥要在iOS 9中使用新字体?
在智能手表Apple Watch这款全新的产品类别上,苹果为它设计了一个全新的字体系统:旧金山字体(San Francisco)。这种字体设计看起来更加简洁干净,即使是在Apple Watch屏幕这么小的设备上,它的可读性也非常高。
##Android开发
本文以剖析优秀的Android网络框架Volley为例来学习面向对象的六大基本原则,体会它们带来的强大能量。
###2)Android Studio发布项目到Jcenter
本文介绍了如何一步一步发布我们得开源项目到Jcenter。
在android编码中,会有一些简便的写法和编码习惯,会导致我们的代码有很多内存泄露的问题,本文做一个已知错误的总结。
###4)使用Transitions API为安卓应用创建动画
虽然移动应用对动画的依赖相当普遍,但在安卓系统中开发者认为创建一个动画的过程一直都是一种挑战。iOS早就提供了处理动画的实用工具,而安卓上帮助开发者提高工作效率的解决方案还相对较新。
###5)腾讯手机管家实战分析:内存突增是为神马?
手机管家从4.4升级到4.5后,用户数据反馈待机内存出现了2-4M左右的增长。经过代码排查及MAT分析,发现有几处代码会导致内存增长,只要将这些代码屏蔽掉一部分,内存情况就下降到正常水平。
##iOS开发 ###1)网易新闻iOS版使用的开源组件
本文列举了网易新闻iOS版在开发过程中曾经使用过的第三方开源类库、组件。
###2)WWDC心得与延伸:iOS图形性能
这篇文章主要是学习完Advanced Graphics and Animations for iOS Apps这个session后的总结和相应细节的延伸和细化。主要内容为图形性能与测试工具这两个章节。
###3)iOS项目的持续集成与管理
当实现新功能时,如果忽略可维护性而引入技术债务,那将会需要延迟解决它或导致增加维护成本。最近我们已经思考通过哪些方式来提高代码的质量:
- 当代码的质量下降时,通过设置一些工具来马上提醒开发者
- 文档化一些编码规范和思考在过去的几个项目中如何避免维护性差的问题
###4)iOS富文本组件的实现—DTCoreText源码解析 数据篇 渲染篇
DTCoreText是个开源的iOS富文本组件,它可以解析HTML与CSS最终用CoreText绘制出来,通常用于在一些需要显示富文本的场景下代替低性能的UIWebView,来看看它是怎样解析和渲染HTML+CSS的,总体上分成两步:
- 数据解析—把HTML+CSS转换成NSAttributeString
- 渲染—用CoreText把NSAttributeString内容渲染出来,再加上图片等元素
###5)【长篇高能】ReactiveCocoa 和 MVVM 入门
任何一个正经开发过一阵子软件的人都熟悉MVC,它意思是Model View Controller, 是一个在复杂应用设计中组织代码的公认模式. 它也被证实在 iOS 开发中有着第二种含义: Massive View Controller(重量级视图控制器)。它让许多程序员绞尽脑汁如何去使代码被解耦和组织地让人满意. 总的来说, iOS 开发者已经得出结论: 他们需要给视图控制器瘦身, 并进一步分离事物;但该怎么做呢?
##技术纵横
###1)Java NIO通信框架在电信领域的实践
本文重点介绍电信业务应用软件的技术变迁历史,以及华为电信软件架构演进和Java NIO框架在技术变迁中起到的关键作用。
Mike Curtis曾就职于AltaVista、AOL、Yahoo、Facebook等一系列硅谷巨头,现在是Airbnb主管工程开发的副总裁。在大公司摸爬滚打了近20年的Curtis应该对大公司的官僚作风和低效率深有体会,也很可能陷入到官僚主义的窠臼中。但实际上Curtis在Airbnb却打造了一支精简而又高效的团队,推动着整个公司的快速发展。
###3)移动无线应用专项测试浅谈
其实去年年底我就说过很多公司功能测试都做的差不多了,接下来就开始折腾什么性能测试啊,安全测试啊,持续集成啊,Hybrid啦等等。果不其然,最近很多测试同学开始问我性能相关的问题。当然我们专业点来讲这个叫做专项测试,那么专项测试其实也是区分什么人去做,工具组的人也在做,业务组的人也在做,只不过大家做的切入点会很不同。也许很多同学也比较好奇我毕竟也去那么多公司撕逼了,到底我平时在做什么,怎么做的。这边那就简单说下吧。
##开源函数库与工具
###1)KRVideoPlayer
36氪iOS团队开源的类似Weico的播放器,支持竖屏模式下全屏播放