平安科技移动开发二队技术周报(第十三期)
业界新闻
1)Android曝严重安全漏洞 95%设备受影响
网络安全公司Zimperium研究人员日前表示,他们在Android设备中发现了一处安全漏洞,允许黑客在用户全然不知的情况下远程访问Android设备。
2)2015年第一季度移动安全报告-阿里聚安全
2015年第一季度,安卓平台受病毒感染设备呈上升趋势,感染总量高达2406.6万,平均每7.6台设备就有1台设备染毒。
3)谷歌确认Android M系统版本号为5.20
谷歌曾经发布了Android M系统,新的系统虽然还没有应用在手机上面,但是已经有不少厂商对新系统感兴趣了。因为Android M具备很多 新功能,在内存占用等问题上也得到了优化。不过一直没有确认的是这款新系统究竟是以什么样的名字或者版本号出现。最近谷歌自己曝光了这一点。
Android开发
1)Android DataBinding:再见Presenter,你好ViewModel!
关于Android平台上MVP模式和MVVM模式的对比。
2)ORM 框架之 greenDAO 使用心得
本文详细的介绍如何在 Android Studio 上使用 greenDAO,并结合代码总结一些使用过程中的心得。
3)Android中的Interpolator
已图标形式介绍了Androdi系统中常见的Interpolator对应的函数及代码实现。
4)Android代码内存优化建议-OnTrimMemory优化
OnTrimMemory 回调是 Android 4.0 之后提供的一个API,这个 API 是提供给开发者的,它的主要作用是提示开发者在系统内存不足的时候,通过处理部分资源来释放内存,从而避免被 Android 系统杀死。这样应用在下一次启动的时候,速度就会比较快。
5)android APP优化知识图谱
本文是对Android app优化知识点的一个思维导图,可以对照着看看。
iOS开发
1)那些用 Swift 写的 App 们
Swift 已经正式面世一年,而它的 2.0 版本(在我看来是真正的 1.0)也将于今年秋季正式发布,这一年,到底有多少公司、团队开始使用 Swift,并且将他们的 App 用 Swift 来写了呢?
2)使用Storyboards开发的10个小技巧
Storyboard是我花时间钻研最多的一个领域。我非常喜欢可视化编程。只需要简单地将项目拖到画布中,更新位置信息,再设置一些描述信息,就已创建了一个用户界面而不用编写任何代码。这非常重要,因为用户界面的代码可以很快让你的代码变得一团糟。
3)如何手动解析CrashLog
解决崩溃问题是移动应用开发者最日常的工作之一。如果是开发过程中遇到的崩溃,可以根据重现步骤调试,但线上版本就无能为力了。好在目前已经有很多不错的第三方CrashLog搜集平台(如友盟、Crashlytics等)为我们做好了解析工作,甚至在Xcode7里苹果也跟进了解析线上版本崩溃日志的功能,为开发者减轻了不少负担。尽管通常已经不需要我们手工处理CrashLog,了解CrashLog的还原原理和方法还是有必要的。
4)后台定位上传的代码实践
LBS定位的社交APP其中主要的一个功能就是能够实时定位社交圈中各个成员的位置 后台实时上传位置则是非常重要的一个技术点接下来就来说说我关于这方面的实践经验。
5)Strings in Swift 2
一篇来自官方的 Swift 博客,为我们讲述了新版本中 String 类型的设计思想的变化理由。对字符串的处理在各个语言中都是有很多细节需要注意的。在 Objective-C里由于一些历史原因,NSString 其实是有很多不足的。Swift 1 中的 String可以说是真正有机会抛开原来的历史包袱,而现在借着 Swift 2 中 protocol extension 的引入,String也有了更好的实现方式。
技术纵横
1)IT 技术人必须思考的 15 个问题
如何更好的成就自己!
2)我心目中的理想团队
非常理想化的想法,但不接地气。小而精的全栈式团队,就像一个曲线的波峰,看似美好,但不稳定。更喜欢朴实的工程团队,能安然处于谷底,每个人可能都不太牛,但通过各种土办法,能汇聚起来,所向无敌。
3)LinkedIn架构这十年
LinkedIn后台系统架构十年来的一个演变过程。
4)移动统计分析—— 那些年一起踩过的坑
出门在外,被问得最多的问题就是“应用开发者为啥要用TalkingData的统计分析,自己做不行吗,看起来很简单啊”。每当这时,我就觉得万般辛酸,内牛满面,在做统计分析平台的过程中遇到的无数坑,骑着羊驼在脑海呼啸而过。
5)为移动应用提供离线支持
对移动应用的离线支持可以理解为应用在网络连接不稳定的情况下能够做出优雅的反应的能力。在移动设备这一相对较新的技术背景中,新的问题也随之产生,例如网络连接的正常或异常、高延迟以及低带宽等情况。这些问题出现的时间并不算长,刚刚上手进行移动开发的工程师对此并不十分了解。
开源函数库与工具
1)Android File Grouping Plugin
一款开源的Android Studio插件,能智能的对你的资源文件夹进行分类,当然,它并没有真的创建文件夹,一切都是虚拟的,自己感受下吧:
2)JSONExport
将JSON对象导出成模型类的Mac OS X桌面应用(Swift),支持 Java、Swift、Objective-C。
3)gradle-dexinfo-plugin
一个用于打印Android工程dex method count的Android Studio插件。