平安科技移动开发二队技术周报(第一期)
业界新闻
1)流行iOS网络通信库AFNetworking曝SSL漏洞
AFNetworking是一款大名鼎鼎的开源网络库,能够让开发者们在iOS和OS X程序中加入网络功能。但是,这款库没有检查SSL证书是否是颁发给某个合法域名。这直接导致了任何使用了早于2.5.3版本的AFNetworking的iOS程序都存在漏洞,即使程序由SSL加密数据,黑客可以窃取和篡改数据。
2)Android 和 iOS 应用可轻松移植为 Windows 10 通用应用
关于微软 Windows 10 将兼容 Android 应用的传言已经出现近一年,微软在 Build 2015 上给出了正式答案,和传言有些许不同。简而言之,Android 和 iOS 应用可移植为 Windows 10 通用应用。
3)Sky:一个基于 Dart 的高性能移动应用 UI 框架
除游戏之外的Android应用通常使用Java语言来开发,而谷歌内部的一个团队正在探索全新的应用开发方式。他们利用了谷歌自主的网页开发语言Dart来开发Android应用。这帮助他们专注于速度,并可以与网页进行深度整合。
4)Google提议使用Jsonnet来增强JSON
Google开源了一门配置语言Jsonnet来取代JSON,它完全向后兼容并加入了一些新特性:注释、引用、算术运算、条件操作符,数组和对象内含,引入,函数,局部变量,继承等。Jsonnet程序被翻译为兼容JSON的数据格式。
Android开发
1)Android Studio入门指南
总结的比较全面的适用于国内开发者的Android Studio安装和基本使用教程,献给终于想从Eclipse+Ant转向Android Studio+Gradle的开发者们。
2) Gradle插件用户指南
Android Studio中使用Gradle的简单快速入门教程,推荐刚从Eclipse+Ant开发模式转到Android Studio+Gradle开发模式的同学们看一看。
3)常见Android Native崩溃及错误原因
Android NDK开发中常见的Native Crash原因分析
4)Android性能优化典范系列 第一季 第二季
Google发布的系列短视频教程,这两篇文章是对其的总结,第一季主要讨论Android的渲染机制,内存与GC,电量优化,第二季包含的内容电量优化,网络优化,Wear上如何做优化,使用对象池来提高效率,LRU Cache,Bitmap的缩放,缓存,重用,PNG压缩,自定义View的性能,提升设置alpha之后View的渲染性能,以及Lint,StictMode等等工具的使用技巧。
5)Instagram是如何提升TextView渲染性能的
在Android中,文本的渲染是很慢的。即使在一个像Nexus 5这样的新设备上,一段有十几行复杂文本的图片说明的初始绘制时间可能会达到50ms,而其文本的measure阶段就需要30ms。这些都发生在UI线程,在滚动时会导致app跳帧。
6)Android中判断app何时启动和关闭的技术研究
Android开发中不可避免的会遇到需要检查app何时进入前台,何时被用户关闭。奇怪的是,要达到这个目的并不容易。检查app第一次启动并不难,但要判断它何时重新打开和关闭就没有那么简单了。
7)如何检查 Android 应用的内存使用情况
Android是为移动设备而设计的,所以应该关注应用的内存使用情况。尽管Android的Dalvik虚拟机会定期执行垃圾回收操作,但这也不意味着就可以忽视应用在何时何处进行内存分配和释放。为了提供良好的用户体验,做到系统在不同应用间流畅切换,当用户和应用无交互时,避免应用不必要的内存消耗是很重要的。
iOS开发
1) Objective-C 拾遗:从Heap and Stack到Block
语言基础知识的再探索
2)携程App的网络性能优化实践
携程无线开发总监陈浩然在QCon全球软件开发大会(北京站)上的演讲,总结了携程在App网络性能优化方面的一些实践经验。
3)iOS应用架构谈系列 开篇 view层的组织和调用方案
安居客iOS app开发者的iOS架构经验分享,目前出了两篇文章。
4)iOS图形性能进阶与测试
这篇文章主要是学习完Advanced Graphics and Animations for iOS Apps这个session后的总结和相应细节的延伸和细化。主要内容为图形性能与测试工具两个章节。
5)View Debugging in Xcode6
我们在开发app的时候经常会遇到一些在代码中难以发现的view中的bug或者自动布局约束。这时候,掌握view调试的技巧就显得很重要—但是在Xcode6出现之前,调试view从未如此简单。
开源函数库与工具
1) Mac上面一款实用的Android工具
使用Mac开发的筒靴可以安装一个,这款简便小工具一键实现如下功能:
- 手机截屏
- 手机视频录制
- 轻松安装APK
- 运行自定义脚本
2)adb-idea
一个Android Studio和Intellij IDEA插件,用于加速日常Android的开发,主要提供的功能有:
- 卸载app
- 杀掉app
- 启动app
- 重新启动app
- 清除app数据
- 清除app数据并重新启动
3)QCon2015的嘉宾演讲资料
刚刚结束的QCon 2015的嘉宾演讲资料汇总,感兴趣的筒靴们可以翻阅一下。
4)Cmd Markdown客户端
作业部落的Markdown编辑器全平台(Windows/Mac/Linux/浏览器)客户端发布,很好用的一款MarkDown编辑器,支持作业部落的云端同步和发布。